[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] e1000e: Avoid hw_error if legacy mode used
From: |
Dmitry Fleytman |
Subject: |
Re: [PATCH] e1000e: Avoid hw_error if legacy mode used |
Date: |
Wed, 29 Jan 2020 18:08:46 +0200 |
> On 27 Jan 2020, at 18:03, Yuri Benditovich <address@hidden> wrote:
>
> https://bugzilla.redhat.com/show_bug.cgi?id=1787142
> The emulation issues hw_error if PSRCTL register
> is written, for example, with zero value.
> Such configuration does not present any problem when
> DTYP bits of RCTL register define legacy format of
> transfer descriptors. Current commit discards check
> for BSIZE0 and BSIZE1 when legacy mode used.
>
> Signed-off-by: Yuri Benditovich <address@hidden>
Acked-by: Dmitry Fleytman <address@hidden>
> ---
> hw/net/e1000e_core.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c
> index 5b05c8ea8a..94ea34dca5 100644
> --- a/hw/net/e1000e_core.c
> +++ b/hw/net/e1000e_core.c
> @@ -2813,12 +2813,15 @@ e1000e_set_eitr(E1000ECore *core, int index, uint32_t
> val)
> static void
> e1000e_set_psrctl(E1000ECore *core, int index, uint32_t val)
> {
> - if ((val & E1000_PSRCTL_BSIZE0_MASK) == 0) {
> - hw_error("e1000e: PSRCTL.BSIZE0 cannot be zero");
> - }
> + if (core->mac[RCTL] & E1000_RCTL_DTYP_MASK) {
> +
> + if ((val & E1000_PSRCTL_BSIZE0_MASK) == 0) {
> + hw_error("e1000e: PSRCTL.BSIZE0 cannot be zero");
> + }
>
> - if ((val & E1000_PSRCTL_BSIZE1_MASK) == 0) {
> - hw_error("e1000e: PSRCTL.BSIZE1 cannot be zero");
> + if ((val & E1000_PSRCTL_BSIZE1_MASK) == 0) {
> + hw_error("e1000e: PSRCTL.BSIZE1 cannot be zero");
> + }
> }
>
> core->mac[PSRCTL] = val;
> --
> 2.17.1
>