Bläddra i källkod

myri10ge: handle failures in suspend and resume

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>
Brice Goglin 18 år sedan
förälder
incheckning
1a63e846a4
1 ändrade filer med 7 tillägg och 5 borttagningar
  1. 7 5
      drivers/net/myri10ge/myri10ge.c

+ 7 - 5
drivers/net/myri10ge/myri10ge.c

@@ -2540,8 +2540,8 @@ static int myri10ge_suspend(struct pci_dev *pdev, pm_message_t state)
 	myri10ge_dummy_rdma(mgp, 0);
 	myri10ge_dummy_rdma(mgp, 0);
 	pci_save_state(pdev);
 	pci_save_state(pdev);
 	pci_disable_device(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)
 static int myri10ge_resume(struct pci_dev *pdev)
@@ -2564,12 +2564,14 @@ static int myri10ge_resume(struct pci_dev *pdev)
 		return -EIO;
 		return -EIO;
 	}
 	}
 
 
-	pci_restore_state(pdev);
+	status = pci_restore_state(pdev);
+	if (status)
+		return status;
 
 
 	status = pci_enable_device(pdev);
 	status = pci_enable_device(pdev);
-	if (status < 0) {
+	if (status) {
 		dev_err(&pdev->dev, "failed to enable device\n");
 		dev_err(&pdev->dev, "failed to enable device\n");
-		return -EIO;
+		return status;
 	}
 	}
 
 
 	pci_set_master(pdev);
 	pci_set_master(pdev);