diff options
author | Jay Cliburn <jacliburn@bellsouth.net> | 2008-05-10 03:12:08 (GMT) |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-05-13 05:30:24 (GMT) |
commit | bf455a2247c6abe7d0debfbf2974514b5144ed4d (patch) | |
tree | 06bc5da1985b51e63e7ce1aa1ad08980ffebdc35 | |
parent | 08e0f1dc8388b3e134c714672c59edc2a7059430 (diff) | |
download | linux-bf455a2247c6abe7d0debfbf2974514b5144ed4d.tar.xz |
atl1: add shutdown callback
Add a shutdown callback that points to atl1_suspend(). This, along
with a working suspend function, fixes wake-on-lan.
Tested-by: Per Olofsson <pelle@dsv.su.se>
Signed-off-by: Jay Cliburn <jacliburn@bellsouth.net>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r-- | drivers/net/atlx/atl1.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/atlx/atl1.c b/drivers/net/atlx/atl1.c index 12fb3e5..b7092a3 100644 --- a/drivers/net/atlx/atl1.c +++ b/drivers/net/atlx/atl1.c @@ -36,7 +36,6 @@ * A very incomplete list of things that need to be dealt with: * * TODO: - * Wake on LAN. * Add more ethtool functions. * Fix abstruse irq enable/disable condition described here: * http://marc.theaimsgroup.com/?l=linux-netdev&m=116398508500553&w=2 @@ -2908,6 +2907,13 @@ static int atl1_resume(struct pci_dev *pdev) #define atl1_resume NULL #endif +static void atl1_shutdown(struct pci_dev *pdev) +{ +#ifdef CONFIG_PM + atl1_suspend(pdev, PMSG_SUSPEND); +#endif +} + #ifdef CONFIG_NET_POLL_CONTROLLER static void atl1_poll_controller(struct net_device *netdev) { @@ -3154,7 +3160,8 @@ static struct pci_driver atl1_driver = { .probe = atl1_probe, .remove = __devexit_p(atl1_remove), .suspend = atl1_suspend, - .resume = atl1_resume + .resume = atl1_resume, + .shutdown = atl1_shutdown }; /* |