Sophie

Sophie

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

kernel-2.6.18-238.el5.src.rpm

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