]> git.hungrycats.org Git - linux/commitdiff
[netdrvr e1000] Serial-over-LAN (SoL) fix
authorScott Feldman <scott.feldman@intel.com>
Tue, 3 Feb 2004 22:05:49 +0000 (17:05 -0500)
committerJeff Garzik <jgarzik@redhat.com>
Tue, 3 Feb 2004 22:05:49 +0000 (17:05 -0500)
* Set VLAN filtering to IEEE 802.1Q after reset so we don't
  break Serial-over-LAN (SoL) connections that use VLANs.

drivers/net/e1000/e1000_main.c

index 988ec8c609c12d9703afc482920a7473182b1cdc..2218f5bfc02efd4588861c5faacc2d93a9779f48 100644 (file)
@@ -339,6 +339,10 @@ e1000_reset(struct e1000_adapter *adapter)
        if(adapter->hw.mac_type >= e1000_82544)
                E1000_WRITE_REG(&adapter->hw, WUC, 0);
        e1000_init_hw(&adapter->hw);
+
+       /* Enable h/w to recognize an 802.1Q VLAN Ethernet packet */
+       E1000_WRITE_REG(&adapter->hw, VET, ETHERNET_IEEE_VLAN_TYPE);
+
        e1000_reset_adaptive(&adapter->hw);
        e1000_phy_get_info(&adapter->hw, &adapter->phy_info);
 }
@@ -2644,8 +2648,6 @@ e1000_vlan_rx_register(struct net_device *netdev, struct vlan_group *grp)
        if(grp) {
                /* enable VLAN tag insert/strip */
 
-               E1000_WRITE_REG(&adapter->hw, VET, ETHERNET_IEEE_VLAN_TYPE);
-
                ctrl = E1000_READ_REG(&adapter->hw, CTRL);
                ctrl |= E1000_CTRL_VME;
                E1000_WRITE_REG(&adapter->hw, CTRL, ctrl);