1 From 03e678ee968ae54b79c1580c2935895bd863ad95 Mon Sep 17 00:00:00 2001
2 From: Dhananjay Phadke <dhananjay@netxen.com>
3 Date: Wed, 14 Jan 2009 20:49:43 -0800
4 Subject: netxen: hold tx lock while sending firmware commands
5 Acked-by: Karsten Keil <kkeil@novell.com>
8 Some firmware commands like mac address addition/deletion are sent
9 on the transmit ring. So need to hold the tx lock before touching
10 tx producer/consumer indices.
12 Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
13 Signed-off-by: David S. Miller <davem@davemloft.net>
15 drivers/net/netxen/netxen_nic_hw.c | 4 ++++
16 1 files changed, 4 insertions(+), 0 deletions(-)
18 diff --git a/drivers/net/netxen/netxen_nic_hw.c b/drivers/net/netxen/netxen_nic_hw.c
19 index e2d2a2f..821cff6 100644
20 --- a/drivers/net/netxen/netxen_nic_hw.c
21 +++ b/drivers/net/netxen/netxen_nic_hw.c
22 @@ -503,6 +503,8 @@ netxen_send_cmd_descs(struct netxen_adapter *adapter,
26 + netif_tx_lock_bh(adapter->netdev);
28 producer = adapter->cmd_producer;
30 cmd_desc = &cmd_desc_arr[i];
31 @@ -527,6 +529,8 @@ netxen_send_cmd_descs(struct netxen_adapter *adapter,
33 netxen_nic_update_cmd_producer(adapter, adapter->cmd_producer);
35 + netif_tx_unlock_bh(adapter->netdev);