r8169: WoL fixes, part 2.
Since recent kernel (2.6.26 or 2.6.27) the PCI wakeup functions are influenced by generic device ability and configuration when enabling PCI-device triggered wake-up. This patch causes WoL setting to enable/disable device's wish to be permitted to wake-up the host when changing WoL options and also during device probing. Without this patch one has write 'enabled' to /sys/bus/pci/devices/0000:02:08.0/power/wakeup Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org> Acked-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
20037fa407
commit
8b76ab3919
|
@ -759,6 +759,7 @@ static int rtl8169_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
|
|||
tp->features |= RTL_FEATURE_WOL;
|
||||
else
|
||||
tp->features &= ~RTL_FEATURE_WOL;
|
||||
device_set_wakeup_enable(&tp->pci_dev->dev, wol->wolopts);
|
||||
|
||||
spin_unlock_irq(&tp->lock);
|
||||
|
||||
|
@ -2017,6 +2018,7 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|||
}
|
||||
|
||||
rtl8169_init_phy(dev, tp);
|
||||
device_set_wakeup_enable(&pdev->dev, tp->features & RTL_FEATURE_WOL);
|
||||
|
||||
out:
|
||||
return rc;
|
||||
|
|
Loading…
Reference in New Issue