diff options
Diffstat (limited to 'drivers/net/cxgb3/cxgb3_main.c')
-rw-r--r-- | drivers/net/cxgb3/cxgb3_main.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/cxgb3/cxgb3_main.c b/drivers/net/cxgb3/cxgb3_main.c index d67fc10a6b36..3a3127216791 100644 --- a/drivers/net/cxgb3/cxgb3_main.c +++ b/drivers/net/cxgb3/cxgb3_main.c | |||
@@ -2430,9 +2430,6 @@ static pci_ers_result_t t3_io_error_detected(struct pci_dev *pdev, | |||
2430 | test_bit(OFFLOAD_DEVMAP_BIT, &adapter->open_device_map)) | 2430 | test_bit(OFFLOAD_DEVMAP_BIT, &adapter->open_device_map)) |
2431 | offload_close(&adapter->tdev); | 2431 | offload_close(&adapter->tdev); |
2432 | 2432 | ||
2433 | /* Free sge resources */ | ||
2434 | t3_free_sge_resources(adapter); | ||
2435 | |||
2436 | adapter->flags &= ~FULL_INIT_DONE; | 2433 | adapter->flags &= ~FULL_INIT_DONE; |
2437 | 2434 | ||
2438 | pci_disable_device(pdev); | 2435 | pci_disable_device(pdev); |
@@ -2457,8 +2454,12 @@ static pci_ers_result_t t3_io_slot_reset(struct pci_dev *pdev) | |||
2457 | goto err; | 2454 | goto err; |
2458 | } | 2455 | } |
2459 | pci_set_master(pdev); | 2456 | pci_set_master(pdev); |
2457 | pci_restore_state(pdev); | ||
2458 | |||
2459 | /* Free sge resources */ | ||
2460 | t3_free_sge_resources(adapter); | ||
2460 | 2461 | ||
2461 | if (t3_prep_adapter(adapter, adapter->params.info, 1)) | 2462 | if (t3_replay_prep_adapter(adapter)) |
2462 | goto err; | 2463 | goto err; |
2463 | 2464 | ||
2464 | return PCI_ERS_RESULT_RECOVERED; | 2465 | return PCI_ERS_RESULT_RECOVERED; |
@@ -2610,6 +2611,7 @@ static int __devinit init_one(struct pci_dev *pdev, | |||
2610 | } | 2611 | } |
2611 | 2612 | ||
2612 | pci_set_master(pdev); | 2613 | pci_set_master(pdev); |
2614 | pci_save_state(pdev); | ||
2613 | 2615 | ||
2614 | mmio_start = pci_resource_start(pdev, 0); | 2616 | mmio_start = pci_resource_start(pdev, 0); |
2615 | mmio_len = pci_resource_len(pdev, 0); | 2617 | mmio_len = pci_resource_len(pdev, 0); |