summaryrefslogtreecommitdiffstats
path: root/drivers/net/cxgb3/cxgb3_main.c
diff options
context:
space:
mode:
authorDivy Le Ray <divy@chelsio.com>2007-12-17 18:47:41 -0800
committerDavid S. Miller <davem@davemloft.net>2008-01-28 15:07:22 -0800
commitbc4b6b52691bae42b1eec3eb86ab4c718387d9f0 (patch)
tree2554bd6d43828c99a5258997484bbdc5298ea0e7 /drivers/net/cxgb3/cxgb3_main.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/cxgb3_main.c')
-rw-r--r--drivers/net/cxgb3/cxgb3_main.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/net/cxgb3/cxgb3_main.c b/drivers/net/cxgb3/cxgb3_main.c
index d1aa7779796..0e3dcbff002 100644
--- a/drivers/net/cxgb3/cxgb3_main.c
+++ b/drivers/net/cxgb3/cxgb3_main.c
@@ -2408,9 +2408,7 @@ void t3_fatal_err(struct adapter *adapter)
static pci_ers_result_t t3_io_error_detected(struct pci_dev *pdev,
pci_channel_state_t state)
{
- struct net_device *dev = pci_get_drvdata(pdev);
- struct port_info *pi = netdev_priv(dev);
- struct adapter *adapter = pi->adapter;
+ struct adapter *adapter = pci_get_drvdata(pdev);
int i;
/* Stop all ports */
@@ -2444,9 +2442,7 @@ static pci_ers_result_t t3_io_error_detected(struct pci_dev *pdev,
*/
static pci_ers_result_t t3_io_slot_reset(struct pci_dev *pdev)
{
- struct net_device *dev = pci_get_drvdata(pdev);
- struct port_info *pi = netdev_priv(dev);
- struct adapter *adapter = pi->adapter;
+ struct adapter *adapter = pci_get_drvdata(pdev);
if (pci_enable_device(pdev)) {
dev_err(&pdev->dev,
@@ -2469,9 +2465,7 @@ static pci_ers_result_t t3_io_slot_reset(struct pci_dev *pdev)
*/
static void t3_io_resume(struct pci_dev *pdev)
{
- struct net_device *dev = pci_get_drvdata(pdev);
- struct port_info *pi = netdev_priv(dev);
- struct adapter *adapter = pi->adapter;
+ struct adapter *adapter = pci_get_drvdata(pdev);
int i;
/* Restart the ports */
@@ -2491,7 +2485,7 @@ static void t3_io_resume(struct pci_dev *pdev)
if (is_offload(adapter)) {
__set_bit(OFFLOAD_DEVMAP_BIT, &adapter->registered_device_map);
- if (offload_open(dev))
+ if (offload_open(adapter->port[0]))
printk(KERN_WARNING
"Could not bring back offload capabilities\n");
}