summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-06-13 17:17:30 +0900
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-13 13:16:41 -0700
commit8ab8fca2071cec559e4b77212cccffd150ce5ce7 (patch)
treec2eca699cd1c1ec57c19d1f89f77c6365724ced6 /drivers
parent26ec43f132d1cf282124a020b2bb5310496c9132 (diff)
downloadlinux-8ab8fca2071cec559e4b77212cccffd150ce5ce7.tar.gz
linux-8ab8fca2071cec559e4b77212cccffd150ce5ce7.tar.bz2
linux-8ab8fca2071cec559e4b77212cccffd150ce5ce7.zip
[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')
-rw-r--r--drivers/net/sky2.c3
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)
}
}
+ sky2_write32(hw, B0_IMSK, 0);
pci_save_state(pdev);
sky2_set_power_state(hw, pstate);
return 0;
@@ -3460,6 +3461,8 @@ static int sky2_resume(struct pci_dev *pdev)
if (err)
goto out;
+ sky2_write32(hw, B0_IMSK, Y2_IS_BASE);
+
for (i = 0; i < hw->ports; i++) {
struct net_device *dev = hw->dev[i];
if (dev && netif_running(dev)) {