aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/myri10ge/myri10ge.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index ee1de971a712..07ca9480a6fe 100644
--- a/drivers/net/myri10ge/myri10ge.c
+++ b/drivers/net/myri10ge/myri10ge.c
@@ -2412,14 +2412,20 @@ static int myri10ge_resume(struct pci_dev *pdev)
2412 return -EIO; 2412 return -EIO;
2413 } 2413 }
2414 myri10ge_restore_state(mgp); 2414 myri10ge_restore_state(mgp);
2415 pci_enable_device(pdev); 2415
2416 status = pci_enable_device(pdev);
2417 if (status < 0) {
2418 dev_err(&pdev->dev, "failed to enable device\n");
2419 return -EIO;
2420 }
2421
2416 pci_set_master(pdev); 2422 pci_set_master(pdev);
2417 2423
2418 status = request_irq(pdev->irq, myri10ge_intr, IRQF_SHARED, 2424 status = request_irq(pdev->irq, myri10ge_intr, IRQF_SHARED,
2419 netdev->name, mgp); 2425 netdev->name, mgp);
2420 if (status != 0) { 2426 if (status != 0) {
2421 dev_err(&pdev->dev, "failed to allocate IRQ\n"); 2427 dev_err(&pdev->dev, "failed to allocate IRQ\n");
2422 goto abort_with_msi; 2428 goto abort_with_enabled;
2423 } 2429 }
2424 2430
2425 myri10ge_reset(mgp); 2431 myri10ge_reset(mgp);
@@ -2438,7 +2444,8 @@ static int myri10ge_resume(struct pci_dev *pdev)
2438 2444
2439 return 0; 2445 return 0;
2440 2446
2441abort_with_msi: 2447abort_with_enabled:
2448 pci_disable_device(pdev);
2442 return -EIO; 2449 return -EIO;
2443 2450
2444} 2451}