]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/e1000e/netdev.c
netdrv intel: always enable VLAN filtering except in promiscous mode
[linux-2.6-omap-h63xx.git] / drivers / net / e1000e / netdev.c
index 3fe60268737a6e91f37220b51bd2d3b6a88d2d42..be5953385bf66b8f9354d2b91839d5e3d7a0278f 100644 (file)
@@ -1792,8 +1792,6 @@ static void e1000_vlan_rx_register(struct net_device *netdev,
                if (adapter->flags & FLAG_HAS_HW_VLAN_FILTER) {
                        /* enable VLAN receive filtering */
                        rctl = er32(RCTL);
-                       if (!(netdev->flags & IFF_PROMISC))
-                               rctl |= E1000_RCTL_VFE;
                        rctl &= ~E1000_RCTL_CFIEN;
                        ew32(RCTL, rctl);
                        e1000_update_mng_vlan(adapter);
@@ -1805,10 +1803,6 @@ static void e1000_vlan_rx_register(struct net_device *netdev,
                ew32(CTRL, ctrl);
 
                if (adapter->flags & FLAG_HAS_HW_VLAN_FILTER) {
-                       /* disable VLAN filtering */
-                       rctl = er32(RCTL);
-                       rctl &= ~E1000_RCTL_VFE;
-                       ew32(RCTL, rctl);
                        if (adapter->mng_vlan_id !=
                            (u16)E1000_MNG_VLAN_NONE) {
                                e1000_vlan_rx_kill_vid(netdev,
@@ -2239,7 +2233,7 @@ static void e1000_set_multi(struct net_device *netdev)
                } else {
                        rctl &= ~(E1000_RCTL_UPE | E1000_RCTL_MPE);
                }
-               if (adapter->vlgrp && adapter->flags & FLAG_HAS_HW_VLAN_FILTER)
+               if (adapter->flags & FLAG_HAS_HW_VLAN_FILTER)
                        rctl |= E1000_RCTL_VFE;
        }