|
@@ -3639,29 +3639,6 @@ static int sky2_resume(struct pci_dev *pdev)
|
|
out:
|
|
out:
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
-
|
|
|
|
-/* BIOS resume runs after device (it's a bug in PM)
|
|
|
|
- * as a temporary workaround on suspend/resume leave MSI disabled
|
|
|
|
- */
|
|
|
|
-static int sky2_suspend_late(struct pci_dev *pdev, pm_message_t state)
|
|
|
|
-{
|
|
|
|
- struct sky2_hw *hw = pci_get_drvdata(pdev);
|
|
|
|
-
|
|
|
|
- free_irq(pdev->irq, hw);
|
|
|
|
- if (hw->msi) {
|
|
|
|
- pci_disable_msi(pdev);
|
|
|
|
- hw->msi = 0;
|
|
|
|
- }
|
|
|
|
- return 0;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-static int sky2_resume_early(struct pci_dev *pdev)
|
|
|
|
-{
|
|
|
|
- struct sky2_hw *hw = pci_get_drvdata(pdev);
|
|
|
|
- struct net_device *dev = hw->dev[0];
|
|
|
|
-
|
|
|
|
- return request_irq(pdev->irq, sky2_intr, IRQF_SHARED, dev->name, hw);
|
|
|
|
-}
|
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
static struct pci_driver sky2_driver = {
|
|
static struct pci_driver sky2_driver = {
|
|
@@ -3672,8 +3649,6 @@ static struct pci_driver sky2_driver = {
|
|
#ifdef CONFIG_PM
|
|
#ifdef CONFIG_PM
|
|
.suspend = sky2_suspend,
|
|
.suspend = sky2_suspend,
|
|
.resume = sky2_resume,
|
|
.resume = sky2_resume,
|
|
- .suspend_late = sky2_suspend_late,
|
|
|
|
- .resume_early = sky2_resume_early,
|
|
|
|
#endif
|
|
#endif
|
|
};
|
|
};
|
|
|
|
|