| To: | "jgarzik@xxxxxxxxx" <jgarzik@xxxxxxxxx> |
|---|---|
| Subject: | [PATCH 2.4 6/13] e1000: Synchronizing multicast table setup with transmit path - ak@xxxxxxx |
| From: | Ganesh Venkatesan <ganesh.venkatesan@xxxxxxxxx> |
| Date: | Thu, 6 Jan 2005 17:09:47 -0800 (PST) |
| Cc: | netdev <netdev@xxxxxxxxxxx> |
| Replyto: | "Ganesh Venkatesan" <ganesh.venkatesan@xxxxxxxxx> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@xxxxxxxxx>
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
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | [PATCH 2.4 5/13] e1000: Apply patch from Jamal (hadi@xxxxxxxx) to remove a redundant assignment to a local nr_frags in e1000_xmit_frame, Ganesh Venkatesan |
|---|---|
| Next by Date: | [PATCH 2.4 7/13] e1000: fix tx resource cleanup logic, Ganesh Venkatesan |
| Previous by Thread: | [PATCH 2.4 5/13] e1000: Apply patch from Jamal (hadi@xxxxxxxx) to remove a redundant assignment to a local nr_frags in e1000_xmit_frame, Ganesh Venkatesan |
| Next by Thread: | [PATCH 2.4 7/13] e1000: fix tx resource cleanup logic, Ganesh Venkatesan |
| Indexes: | [Date] [Thread] [Top] [All Lists] |