svn commit: r363995 - head/sys/dev/e1000
Vincenzo Maffione
vmaffione at FreeBSD.org
Thu Aug 6 21:01:27 UTC 2020
Author: vmaffione
Date: Thu Aug 6 21:01:26 2020
New Revision: 363995
URL: https://svnweb.freebsd.org/changeset/base/363995
Log:
em(4): honor vlanhwtag offload
The FreeBSD em driver fails to properly reset the VME flag
in the e1000 CTRL register oneg the following ifconfig command
ifconfig em1 -vlanhwtag
Tested on the e1000 device emulated by QEMU, and on a real
NIC (chip=0x10d38086).
PR: 236584
Submitted by: murat at sunnyvalley.io
Reported by: murat at sunnyvalley.io
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D25286
Modified:
head/sys/dev/e1000/if_em.c
Modified: head/sys/dev/e1000/if_em.c
==============================================================================
--- head/sys/dev/e1000/if_em.c Thu Aug 6 20:55:18 2020 (r363994)
+++ head/sys/dev/e1000/if_em.c Thu Aug 6 21:01:26 2020 (r363995)
@@ -1334,6 +1334,11 @@ em_if_init(if_ctx_t ctx)
ctrl |= E1000_CTRL_VME;
E1000_WRITE_REG(&adapter->hw, E1000_CTRL, ctrl);
}
+ } else {
+ u32 ctrl;
+ ctrl = E1000_READ_REG(&adapter->hw, E1000_CTRL);
+ ctrl &= ~E1000_CTRL_VME;
+ E1000_WRITE_REG(&adapter->hw, E1000_CTRL, ctrl);
}
/* Don't lose promiscuous settings */
More information about the svn-src-head
mailing list