[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 2/3] hw/net: e1000e: Correct the initial value of VET regi
From: |
Bin Meng |
Subject: |
Re: [PATCH v4 2/3] hw/net: e1000e: Correct the initial value of VET register |
Date: |
Fri, 30 Jul 2021 09:21:12 +0800 |
Hi Jason,
On Fri, Jul 23, 2021 at 3:55 PM Bin Meng <bmeng.cn@gmail.com> wrote:
>
> From: Christina Wang <christina.wang@windriver.com>
>
> The initial value of VLAN Ether Type (VET) register is 0x8100, as per
> the manual and real hardware.
>
> While Linux e1000e driver always writes VET register to 0x8100, it is
> not always the case for everyone. Drivers relying on the reset value
> of VET won't be able to transmit and receive VLAN frames in QEMU.
>
> Unlike e1000 in QEMU, e1000e uses a field 'vet' in "struct E1000Core"
> to cache the value of VET register, but the cache only gets updated
> when VET register is written. To always get a consistent VET value
> no matter VET is written or remains its reset value, drop the 'vet'
> field and use 'core->mac[VET]' directly.
>
> Reported-by: Markus Carlstedt <markus.carlstedt@windriver.com>
> Signed-off-by: Christina Wang <christina.wang@windriver.com>
> Signed-off-by: Bin Meng <bin.meng@windriver.com>
>
> ---
>
> Changes in v4:
> - Only keep hw_compat_6_0[] changes
>
> Changes in v3:
> - add a "init-vet" property for versioned machines
>
> Changes in v2:
> - keep the 'vet' field in "struct E1000Core" for migration compatibility
>
> hw/core/machine.c | 1 +
> hw/net/e1000e.c | 8 +++++++-
> hw/net/e1000e_core.c | 9 ++++-----
> 3 files changed, 12 insertions(+), 6 deletions(-)
>
Will this series be in 6.1?
Regards,
Bin