diff options
author | Jay Cliburn <jacliburn@bellsouth.net> | 2008-05-09 23:12:08 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-05-13 01:30:24 -0400 |
commit | bf455a2247c6abe7d0debfbf2974514b5144ed4d (patch) | |
tree | 06bc5da1985b51e63e7ce1aa1ad08980ffebdc35 /drivers/net | |
parent | 08e0f1dc8388b3e134c714672c59edc2a7059430 (diff) |
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>
Diffstat (limited to 'drivers/net')
-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 12fb3e5529d1..b7092a330f56 100644 --- a/drivers/net/atlx/atl1.c +++ b/drivers/net/atlx/atl1.c | |||
@@ -36,7 +36,6 @@ | |||
36 | * A very incomplete list of things that need to be dealt with: | 36 | * A very incomplete list of things that need to be dealt with: |
37 | * | 37 | * |
38 | * TODO: | 38 | * TODO: |
39 | * Wake on LAN. | ||
40 | * Add more ethtool functions. | 39 | * Add more ethtool functions. |
41 | * Fix abstruse irq enable/disable condition described here: | 40 | * Fix abstruse irq enable/disable condition described here: |
42 | * http://marc.theaimsgroup.com/?l=linux-netdev&m=116398508500553&w=2 | 41 | * http://marc.theaimsgroup.com/?l=linux-netdev&m=116398508500553&w=2 |
@@ -2908,6 +2907,13 @@ static int atl1_resume(struct pci_dev *pdev) | |||
2908 | #define atl1_resume NULL | 2907 | #define atl1_resume NULL |
2909 | #endif | 2908 | #endif |
2910 | 2909 | ||
2910 | static void atl1_shutdown(struct pci_dev *pdev) | ||
2911 | { | ||
2912 | #ifdef CONFIG_PM | ||
2913 | atl1_suspend(pdev, PMSG_SUSPEND); | ||
2914 | #endif | ||
2915 | } | ||
2916 | |||
2911 | #ifdef CONFIG_NET_POLL_CONTROLLER | 2917 | #ifdef CONFIG_NET_POLL_CONTROLLER |
2912 | static void atl1_poll_controller(struct net_device *netdev) | 2918 | static void atl1_poll_controller(struct net_device *netdev) |
2913 | { | 2919 | { |
@@ -3154,7 +3160,8 @@ static struct pci_driver atl1_driver = { | |||
3154 | .probe = atl1_probe, | 3160 | .probe = atl1_probe, |
3155 | .remove = __devexit_p(atl1_remove), | 3161 | .remove = __devexit_p(atl1_remove), |
3156 | .suspend = atl1_suspend, | 3162 | .suspend = atl1_suspend, |
3157 | .resume = atl1_resume | 3163 | .resume = atl1_resume, |
3164 | .shutdown = atl1_shutdown | ||
3158 | }; | 3165 | }; |
3159 | 3166 | ||
3160 | /* | 3167 | /* |