aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/cxgb3/sge.c
diff options
context:
space:
mode:
authorDivy Le Ray <divy@chelsio.com>2007-12-17 21:47:41 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:07:22 -0500
commitbc4b6b52691bae42b1eec3eb86ab4c718387d9f0 (patch)
tree2554bd6d43828c99a5258997484bbdc5298ea0e7 /drivers/net/cxgb3/sge.c
parentb881955b7d045e7486e9af08398242aeb7199f67 (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.c7
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 */
1365int t3_mgmt_tx(struct adapter *adap, struct sk_buff *skb) 1365int 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/**