Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 27922b4260f65d317aabda37e42bbbff > files > 2591

kernel-2.6.18-238.el5.src.rpm

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 */