From 9030be4bad005c75a8a2df81f7e4b1a33913876e Mon Sep 17 00:00:00 2001 From: Sean Bruno Date: Thu, 7 Jan 2016 18:34:56 +0000 Subject: [PATCH] Fix VF handling of VLANs. This helps immensily with our ability to operate in the Amazon Cloud. Discussed on Intel Networking Community call this morning. Submitted by: Jarrod Petz(petz@nisshoko.net) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D4788 --- sys/dev/ixgbe/if_ixv.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/dev/ixgbe/if_ixv.c b/sys/dev/ixgbe/if_ixv.c index 0b147d476b99..20358ad1a9b0 100644 --- a/sys/dev/ixgbe/if_ixv.c +++ b/sys/dev/ixgbe/if_ixv.c @@ -1664,7 +1664,7 @@ ixv_initialize_receive_units(struct adapter *adapter) /* Disable the queue */ rxdctl = IXGBE_READ_REG(hw, IXGBE_VFRXDCTL(i)); - rxdctl &= ~(IXGBE_RXDCTL_ENABLE | IXGBE_RXDCTL_VME); + rxdctl &= ~IXGBE_RXDCTL_ENABLE; IXGBE_WRITE_REG(hw, IXGBE_VFRXDCTL(i), rxdctl); for (int j = 0; j < 10; j++) { if (IXGBE_READ_REG(hw, IXGBE_VFRXDCTL(i)) & @@ -1698,8 +1698,7 @@ ixv_initialize_receive_units(struct adapter *adapter) rxr->tail = IXGBE_VFRDT(rxr->me); /* Do the queue enabling last */ - rxdctl = IXGBE_READ_REG(hw, IXGBE_VFRXDCTL(i)); - rxdctl |= IXGBE_RXDCTL_ENABLE; + rxdctl |= IXGBE_RXDCTL_ENABLE | IXGBE_RXDCTL_VME; IXGBE_WRITE_REG(hw, IXGBE_VFRXDCTL(i), rxdctl); for (int k = 0; k < 10; k++) { if (IXGBE_READ_REG(hw, IXGBE_VFRXDCTL(i)) &