Comment 150 for bug 160413

Revision history for this message
In , tavvva (tavvva-linux-kernel-bugs) wrote :

Created attachment 22432
r8169-wol.patch - enables the receiver in the rtl_shutdown

static void rtl_shutdown(struct pci_dev *pdev)
{
        struct net_device *dev = pci_get_drvdata(pdev);
        struct rtl8169_private *tp = netdev_priv(dev);
        void __iomem *ioaddr = tp->mmio_addr;

        rtl8169_net_suspend(dev);

        spin_lock_irq(&tp->lock);

        rtl8169_asic_down(ioaddr);

        spin_unlock_irq(&tp->lock);

        if (system_state == SYSTEM_POWER_OFF) {
                /* enable receiver to accept WOL */
                RTL_W8(ChipCmd, 1<<3);

                pci_wake_from_d3(pdev, true);
                pci_set_power_state(pdev, PCI_D3hot);
        }
}