aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/sky2.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 54c662690f65..853bce0ac478 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -4329,10 +4329,14 @@ static int sky2_suspend(struct pci_dev *pdev, pm_message_t state)
4329 if (!hw) 4329 if (!hw)
4330 return 0; 4330 return 0;
4331 4331
4332 del_timer_sync(&hw->watchdog_timer);
4333 cancel_work_sync(&hw->restart_work);
4334
4332 for (i = 0; i < hw->ports; i++) { 4335 for (i = 0; i < hw->ports; i++) {
4333 struct net_device *dev = hw->dev[i]; 4336 struct net_device *dev = hw->dev[i];
4334 struct sky2_port *sky2 = netdev_priv(dev); 4337 struct sky2_port *sky2 = netdev_priv(dev);
4335 4338
4339 netif_device_detach(dev);
4336 if (netif_running(dev)) 4340 if (netif_running(dev))
4337 sky2_down(dev); 4341 sky2_down(dev);
4338 4342
@@ -4383,6 +4387,8 @@ static int sky2_resume(struct pci_dev *pdev)
4383 4387
4384 for (i = 0; i < hw->ports; i++) { 4388 for (i = 0; i < hw->ports; i++) {
4385 struct net_device *dev = hw->dev[i]; 4389 struct net_device *dev = hw->dev[i];
4390
4391 netif_device_attach(dev);
4386 if (netif_running(dev)) { 4392 if (netif_running(dev)) {
4387 err = sky2_up(dev); 4393 err = sky2_up(dev);
4388 if (err) { 4394 if (err) {