Fixed suspend/resume for r8169 drivers.

This commit is contained in:
Florian Pose 2012-01-10 10:43:56 +01:00
parent f698ec2aa0
commit 83062b783e
3 changed files with 7 additions and 4 deletions

View File

@ -3237,7 +3237,7 @@ static int rtl8169_suspend(struct pci_dev *pdev, pm_message_t state)
void __iomem *ioaddr = tp->mmio_addr;
if (tp->ecdev)
return;
return -EBUSY;
if (!netif_running(dev))
goto out_pci_suspend;
@ -3269,7 +3269,7 @@ static int rtl8169_resume(struct pci_dev *pdev)
struct rtl8169_private *tp = netdev_priv(dev);
if (tp->ecdev)
return;
return -EBUSY;
pci_set_power_state(pdev, PCI_D0);
pci_restore_state(pdev);

View File

@ -3858,7 +3858,7 @@ static int rtl8169_suspend(struct pci_dev *pdev, pm_message_t state)
void __iomem *ioaddr = tp->mmio_addr;
if (tp->ecdev)
return;
return -EBUSY;
if (!netif_running(dev))
goto out_pci_suspend;
@ -3889,7 +3889,7 @@ static int rtl8169_resume(struct pci_dev *pdev)
struct rtl8169_private *tp = netdev_priv(dev);
if (tp->ecdev)
return;
return -EBUSY;
pci_set_power_state(pdev, PCI_D0);
pci_restore_state(pdev);

View File

@ -4956,6 +4956,9 @@ static int rtl8169_resume(struct device *device)
struct net_device *dev = pci_get_drvdata(pdev);
struct rtl8169_private *tp = netdev_priv(dev);
if (tp->ecdev)
return -EBUSY;
rtl8169_init_phy(dev, tp);
if (netif_running(dev))