myri10ge: handle failures in suspend and resume
authorBrice Goglin <brice@myri.com>
Mon, 18 Dec 2006 10:52:34 +0000 (11:52 +0100)
committerJeff Garzik <jeff@garzik.org>
Tue, 26 Dec 2006 21:28:20 +0000 (16:28 -0500)
On suspend, handle pci_set_power_state errors, and on resume
handle failures in pci_resume_state().

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/myri10ge/myri10ge.c

index 9bc5dab..07cf574 100644 (file)
@@ -2540,8 +2540,8 @@ static int myri10ge_suspend(struct pci_dev *pdev, pm_message_t state)
        myri10ge_dummy_rdma(mgp, 0);
        pci_save_state(pdev);
        pci_disable_device(pdev);
-       pci_set_power_state(pdev, pci_choose_state(pdev, state));
-       return 0;
+
+       return pci_set_power_state(pdev, pci_choose_state(pdev, state));
 }
 
 static int myri10ge_resume(struct pci_dev *pdev)
@@ -2564,12 +2564,14 @@ static int myri10ge_resume(struct pci_dev *pdev)
                return -EIO;
        }
 
-       pci_restore_state(pdev);
+       status = pci_restore_state(pdev);
+       if (status)
+               return status;
 
        status = pci_enable_device(pdev);
-       if (status < 0) {
+       if (status) {
                dev_err(&pdev->dev, "failed to enable device\n");
-               return -EIO;
+               return status;
        }
 
        pci_set_master(pdev);