OSDN Git Service

hw/net: e1000e: Don't zero out the VLAN tag in the legacy RX descriptor
authorChristina Wang <christina.wang@windriver.com>
Fri, 23 Jul 2021 07:55:12 +0000 (15:55 +0800)
committerJason Wang <jasowang@redhat.com>
Mon, 2 Aug 2021 04:19:18 +0000 (12:19 +0800)
In the legacy RX descriptor mode, VLAN tag was saved to d->special
by e1000e_build_rx_metadata() in e1000e_write_lgcy_rx_descr(), but
it was then zeroed out again at the end of the call, which is wrong.

Fixes: c89d416a2b0f ("e1000e: Don't zero out buffer address in rx descriptor")
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>
Signed-off-by: Jason Wang <jasowang@redhat.com>
hw/net/e1000e_core.c

index b4bf4ca..8ae6fb7 100644 (file)
@@ -1285,7 +1285,6 @@ e1000e_write_lgcy_rx_descr(E1000ECore *core, uint8_t *desc,
                              &d->special);
     d->errors = (uint8_t) (le32_to_cpu(status_flags) >> 24);
     d->status = (uint8_t) le32_to_cpu(status_flags);
-    d->special = 0;
 }
 
 static inline void