diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2006-06-13 04:17:30 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-13 16:16:41 -0400 |
commit | 8ab8fca2071cec559e4b77212cccffd150ce5ce7 (patch) | |
tree | c2eca699cd1c1ec57c19d1f89f77c6365724ced6 /drivers/net/sky2.c | |
parent | 26ec43f132d1cf282124a020b2bb5310496c9132 (diff) |
[PATCH] sky2: save/restore base hardware irq during suspend/resume
The hardware should be fully shut off during suspend, and the base
irq mask restored during resume.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/net/sky2.c')
-rw-r--r-- | drivers/net/sky2.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index b680e64ad2ca..df899dcbd5b0 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
@@ -3442,6 +3442,7 @@ static int sky2_suspend(struct pci_dev *pdev, pm_message_t state) | |||
3442 | } | 3442 | } |
3443 | } | 3443 | } |
3444 | 3444 | ||
3445 | sky2_write32(hw, B0_IMSK, 0); | ||
3445 | pci_save_state(pdev); | 3446 | pci_save_state(pdev); |
3446 | sky2_set_power_state(hw, pstate); | 3447 | sky2_set_power_state(hw, pstate); |
3447 | return 0; | 3448 | return 0; |
@@ -3460,6 +3461,8 @@ static int sky2_resume(struct pci_dev *pdev) | |||
3460 | if (err) | 3461 | if (err) |
3461 | goto out; | 3462 | goto out; |
3462 | 3463 | ||
3464 | sky2_write32(hw, B0_IMSK, Y2_IS_BASE); | ||
3465 | |||
3463 | for (i = 0; i < hw->ports; i++) { | 3466 | for (i = 0; i < hw->ports; i++) { |
3464 | struct net_device *dev = hw->dev[i]; | 3467 | struct net_device *dev = hw->dev[i]; |
3465 | if (dev && netif_running(dev)) { | 3468 | if (dev && netif_running(dev)) { |