From: Dean Nelson <dnelson@redhat.com> Date: Tue, 20 Apr 2010 01:16:31 -0400 Subject: [net] e1000e: fix WoL init when WoL disabled in EEPROM Message-id: <20100420011631.7498.88536.send-patch@localhost.localdomain> Patchwork-id: 24236 O-Subject: [RHEL5.6 PATCH] e1000e: fix WoL initialization when WoL is disabled in the EEPROM Bugzilla: 568562 RH-Acked-by: Andy Gospodarek <gospo@redhat.com> RH-Acked-by: David S. Miller <davem@redhat.com> RH-Acked-by: Stefan Assmann <sassmann@redhat.com> Resolves RHBZ 568562. 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=2387598 Tested by me on intel-foxhollow-01.lab.bos.redhat.com by using the ethtool to disable WoL in the EEPROM in order to reproduce the problem. diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c index e7b2eb3..cbc17ec 100644 --- a/drivers/net/e1000e/netdev.c +++ b/drivers/net/e1000e/netdev.c @@ -5221,7 +5221,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, adapter->wol); + device_init_wakeup(&adapter->pdev->dev, true); device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol); /* save off EEPROM version number */