[PATCH 2.4 6/13] e1000: Synchronizing multicast table setup with transmit path - ak@suse.de
From: Ganesh Venkatesan <hidden>
Date: 2005-01-07 01:09:47
From: Ganesh Venkatesan <hidden>
Date: 2005-01-07 01:09:47
Signed-off-by: Ganesh Venkatesan <redacted> diff -up net-drivers-2.4/drivers/net/e1000/e1000_main.c net-drivers-2.4/drivers/net/e1000.new/e1000_main.c
--- net-drivers-2.4/drivers/net/e1000/e1000_main.c 2004-12-06 08:43:11.635381920 -0800
+++ net-drivers-2.4/drivers/net/e1000.new/e1000_main.c 2004-12-06 08:43:12.534245272 -0800@@ -1260,9 +1260,12 @@ e1000_set_multi(struct net_device *netde uint32_t rctl; uint32_t hash_value; int i; + unsigned long flags; /* Check for Promiscuous and All Multicast modes */ + spin_lock_irqsave(&adapter->tx_lock, flags); + rctl = E1000_READ_REG(hw, RCTL); if(netdev->flags & IFF_PROMISC) {
@@ -1311,6 +1314,8 @@ e1000_set_multi(struct net_device *netde if(hw->mac_type == e1000_82542_rev2_0) e1000_leave_82542_rst(adapter); + + spin_unlock_irqrestore(&adapter->tx_lock, flags); } /* Need to wait a few seconds after link up to get diagnostic information from