From: Stephen Hemminger Date: Wed, 20 Dec 2006 21:06:33 +0000 (-0800) Subject: sky2: dual port NAPI problem X-Git-Tag: v2.6.20-rc3~56^2~15 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=25d82d7a2fc20cc4be414d738139594dc0adf179;p=linux-2.6 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 Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index fb1d2c30c1..4fb3db99bc 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c @@ -1511,6 +1511,13 @@ static int sky2_down(struct net_device *dev) imask &= ~portirq_msk[port]; sky2_write32(hw, B0_IMSK, imask); + /* + * Both ports share the NAPI poll on port 0, so if necessary undo the + * the disable that is done in dev_close. + */ + if (sky2->port == 0 && hw->ports > 1) + netif_poll_enable(dev); + sky2_gmac_reset(hw, port); /* Stop transmitter */