aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-12-20 16:06:33 -0500
committerJeff Garzik <jeff@garzik.org>2006-12-26 16:36:42 -0500
commit25d82d7a2fc20cc4be414d738139594dc0adf179 (patch)
treefdfa5c375fb27be9d93a525aa1f16870d95a5b45 /drivers/net
parentce9f7fe3c3f5b9ed1d3e91db78c45d0df5672816 (diff)
sky2: dual port NAPI problem
Shutting down port 0 disables the NAPI poll used by both ports. The long term fix will be to separate NAPI object from net device until then just reenable if needed. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/sky2.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index fb1d2c30c1bb..4fb3db99bcd1 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -1511,6 +1511,13 @@ static int sky2_down(struct net_device *dev)
1511 imask &= ~portirq_msk[port]; 1511 imask &= ~portirq_msk[port];
1512 sky2_write32(hw, B0_IMSK, imask); 1512 sky2_write32(hw, B0_IMSK, imask);
1513 1513
1514 /*
1515 * Both ports share the NAPI poll on port 0, so if necessary undo the
1516 * the disable that is done in dev_close.
1517 */
1518 if (sky2->port == 0 && hw->ports > 1)
1519 netif_poll_enable(dev);
1520
1514 sky2_gmac_reset(hw, port); 1521 sky2_gmac_reset(hw, port);
1515 1522
1516 /* Stop transmitter */ 1523 /* Stop transmitter */