summaryrefslogtreecommitdiff
path: root/kmod/igb
diff options
context:
space:
mode:
authorintel-ethernet <eric_mann@mail.intel.com>2013-07-18 12:04:29 -0700
committerintel-ethernet <eric_mann@mail.intel.com>2013-07-18 12:04:29 -0700
commit6ce0e44954ededc948428b164a3e5b46ca165dfa (patch)
tree3a170f92893cf03d7789bcc6ba98f0b5750d36e3 /kmod/igb
parent9d17109504e566009a071379e677e2be36bb28cb (diff)
downloadOpen-AVB-6ce0e44954ededc948428b164a3e5b46ca165dfa.tar.gz
Disable VLAN filtering - removes requirement to add vlan to interface
Diffstat (limited to 'kmod/igb')
-rw-r--r--kmod/igb/igb_main.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/kmod/igb/igb_main.c b/kmod/igb/igb_main.c
index d2faf110..3eddde56 100644
--- a/kmod/igb/igb_main.c
+++ b/kmod/igb/igb_main.c
@@ -4122,12 +4122,12 @@ static void igb_set_rx_mode(struct net_device *netdev)
rctl &= ~(E1000_RCTL_UPE | E1000_RCTL_MPE | E1000_RCTL_VFE);
if (netdev->flags & IFF_PROMISC) {
- u32 mrqc = E1000_READ_REG(hw, E1000_MRQC);
- /* retain VLAN HW filtering if in VT mode */
- if (mrqc & E1000_MRQC_ENABLE_VMDQ)
- rctl |= E1000_RCTL_VFE;
rctl |= (E1000_RCTL_UPE | E1000_RCTL_MPE);
vmolr |= (E1000_VMOLR_ROPE | E1000_VMOLR_MPME);
+ /* retain VLAN HW filtering if in VT mode */
+ if (adapter->vfs_allocated_count || adapter->vmdq_pools)
+ rctl |= E1000_RCTL_VFE;
+
} else {
if (netdev->flags & IFF_ALLMULTI) {
rctl |= E1000_RCTL_MPE;
@@ -4158,7 +4158,7 @@ static void igb_set_rx_mode(struct net_device *netdev)
vmolr |= E1000_VMOLR_ROPE;
}
#endif /* HAVE_SET_RX_MODE */
- rctl |= E1000_RCTL_VFE;
+ /* rctl |= E1000_RCTL_VFE; Disable VLAN filtering */
}
E1000_WRITE_REG(hw, E1000_RCTL, rctl);