| From 6265550705f10d3a3d3d2c80102874ffd6e6792f Mon Sep 17 00:00:00 2001 |
| From: Gerard Lledo <gerard.lledo@gmail.com> |
| Date: Sat, 28 Apr 2012 08:52:37 +0000 |
| Subject: sungem: Fix WakeOnLan |
| |
| |
| From: Gerard Lledo <gerard.lledo@gmail.com> |
| |
| [ Upstream commit 5a8887d39e1ba5ee2d4ccb94b14d6f2dce5ddfca ] |
| |
| WakeOnLan was broken in this driver because gp->asleep_wol is a 1-bit |
| bitfield and it was being assigned WAKE_MAGIC, which is (1 << 5). |
| gp->asleep_wol remains 0 and the machine never wakes up. Fixed by casting |
| gp->wake_on_lan to bool. Tested on an iBook G4. |
| |
| Signed-off-by: Gerard Lledo <gerard.lledo@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/sun/sungem.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/net/ethernet/sun/sungem.c |
| +++ b/drivers/net/ethernet/sun/sungem.c |
| @@ -2340,7 +2340,7 @@ static int gem_suspend(struct pci_dev *p |
| netif_device_detach(dev); |
| |
| /* Switch off chip, remember WOL setting */ |
| - gp->asleep_wol = gp->wake_on_lan; |
| + gp->asleep_wol = !!gp->wake_on_lan; |
| gem_do_stop(dev, gp->asleep_wol); |
| |
| /* Unlock the network stack */ |