summaryrefslogtreecommitdiffstats
path: root/drivers/net/sky2.c
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-06-18 01:15:45 -0400
committerJeff Garzik <jeff@garzik.org>2006-06-18 01:15:45 -0400
commitea6e1e94f2cb9ae54bd1428e1ef3e84a749ceed8 (patch)
tree712ae925e95105b763b2fd851348288c53e78d55 /drivers/net/sky2.c
parentdb9ca5803566078aafe63cf364ef98b5097e4194 (diff)
parent427abfa28afedffadfca9dd8b067eb6d36bac53f (diff)
downloadkernel-crypto-ea6e1e94f2cb9ae54bd1428e1ef3e84a749ceed8.tar.gz
kernel-crypto-ea6e1e94f2cb9ae54bd1428e1ef3e84a749ceed8.tar.xz
kernel-crypto-ea6e1e94f2cb9ae54bd1428e1ef3e84a749ceed8.zip
Merge branch 'master' into upstream
Diffstat (limited to 'drivers/net/sky2.c')
-rw-r--r--drivers/net/sky2.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 97fe95666f3..fba1e4d4d83 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -2255,8 +2255,10 @@ static irqreturn_t sky2_intr(int irq, void *dev_id, struct pt_regs *regs)
static void sky2_netpoll(struct net_device *dev)
{
struct sky2_port *sky2 = netdev_priv(dev);
+ struct net_device *dev0 = sky2->hw->dev[0];
- sky2_intr(sky2->hw->pdev->irq, sky2->hw, NULL);
+ if (netif_running(dev) && __netif_rx_schedule_prep(dev0))
+ __netif_rx_schedule(dev0);
}
#endif
@@ -3446,6 +3448,7 @@ static int sky2_suspend(struct pci_dev *pdev, pm_message_t state)
sky2_down(dev);
netif_device_detach(dev);
+ netif_poll_disable(dev);
}
}
@@ -3474,6 +3477,8 @@ static int sky2_resume(struct pci_dev *pdev)
struct net_device *dev = hw->dev[i];
if (dev && netif_running(dev)) {
netif_device_attach(dev);
+ netif_poll_enable(dev);
+
err = sky2_up(dev);
if (err) {
printk(KERN_ERR PFX "%s: could not up: %d\n",