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>
This commit is contained in:
parent
83f6e15245
commit
1a63e846a4
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue