From 83062b783ef3418678ad978ea090c8ea32e9cf57 Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Tue, 10 Jan 2012 10:43:56 +0100 Subject: [PATCH] Fixed suspend/resume for r8169 drivers. --- devices/r8169-2.6.24-ethercat.c | 4 ++-- devices/r8169-2.6.28-ethercat.c | 4 ++-- devices/r8169-2.6.37-ethercat.c | 3 +++ 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/devices/r8169-2.6.24-ethercat.c b/devices/r8169-2.6.24-ethercat.c index e78eff24..790280f9 100644 --- a/devices/r8169-2.6.24-ethercat.c +++ b/devices/r8169-2.6.24-ethercat.c @@ -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); diff --git a/devices/r8169-2.6.28-ethercat.c b/devices/r8169-2.6.28-ethercat.c index f86650f9..9a22a56b 100644 --- a/devices/r8169-2.6.28-ethercat.c +++ b/devices/r8169-2.6.28-ethercat.c @@ -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); diff --git a/devices/r8169-2.6.37-ethercat.c b/devices/r8169-2.6.37-ethercat.c index 7bb9365f..b3724360 100644 --- a/devices/r8169-2.6.37-ethercat.c +++ b/devices/r8169-2.6.37-ethercat.c @@ -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))