diff options
author | Divy Le Ray <divy@chelsio.com> | 2007-12-17 21:47:41 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 18:07:22 -0500 |
commit | bc4b6b52691bae42b1eec3eb86ab4c718387d9f0 (patch) | |
tree | 2554bd6d43828c99a5258997484bbdc5298ea0e7 /drivers/net/cxgb3/sge.c | |
parent | b881955b7d045e7486e9af08398242aeb7199f67 (diff) |
cxgb3 - Fix EEH, missing softirq blocking
set_pci_drvdata() stores a pointer to the adapter,
not the net device.
Add missing softirq blocking in t3_mgmt_tx.
Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/cxgb3/sge.c')
-rw-r--r-- | drivers/net/cxgb3/sge.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c index cef153d1d32c..6367cee0d66a 100644 --- a/drivers/net/cxgb3/sge.c +++ b/drivers/net/cxgb3/sge.c | |||
@@ -1364,7 +1364,12 @@ static void restart_ctrlq(unsigned long data) | |||
1364 | */ | 1364 | */ |
1365 | int t3_mgmt_tx(struct adapter *adap, struct sk_buff *skb) | 1365 | int t3_mgmt_tx(struct adapter *adap, struct sk_buff *skb) |
1366 | { | 1366 | { |
1367 | return ctrl_xmit(adap, &adap->sge.qs[0].txq[TXQ_CTRL], skb); | 1367 | int ret; |
1368 | local_bh_disable(); | ||
1369 | ret = ctrl_xmit(adap, &adap->sge.qs[0].txq[TXQ_CTRL], skb); | ||
1370 | local_bh_enable(); | ||
1371 | |||
1372 | return ret; | ||
1368 | } | 1373 | } |
1369 | 1374 | ||
1370 | /** | 1375 | /** |