From: Dean Nelson <dnelson@redhat.com> Date: Fri, 16 Apr 2010 03:00:07 -0400 Subject: [net] e1000: fix WoL init when WoL disabled in EEPROM Message-id: <20100416030007.5458.50612.send-patch@localhost.localdomain> Patchwork-id: 24199 O-Subject: [RHEL5.6 PATCH] e1000: fix WoL initialization when WoL is disabled in the EEPROM Bugzilla: 568561 RH-Acked-by: John Linville <linville@redhat.com> RH-Acked-by: David S. Miller <davem@redhat.com> RH-Acked-by: Stefan Assmann <sassmann@redhat.com> Resolves RHBZ 568561. The dev->power.can_wakeup flag can be initialized incorrectly in situations where WoL is disabled in the EEPROM leading to the inability to set WoL using ethtool. This issue does not exist upstream or in RHEL6. Brew build: https://brewweb.devel.redhat.com/taskinfo?taskID=2381513 Tested by me on a number of Beaker systems. diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index acaa2be..578494d 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c @@ -1230,6 +1230,7 @@ static int __devinit e1000_probe(struct pci_dev *pdev, /* initialize the wol settings based on the eeprom settings */ adapter->wol = adapter->eeprom_wol; + device_init_wakeup(&adapter->pdev->dev, true); device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol); /* print bus type/speed/width info */