aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-10-18 16:39:28 -0400
committerJeff Garzik <jeff@garzik.org>2006-10-31 20:22:06 -0500
commit0ca43235b34c92278fa903297acef37198ec3e26 (patch)
treedf6a9dc9ad39e7aa45abbcc7f6cb7db781c7f69b
parent798b6b19d7a4b6e1ea5340ec8b3b92811e05b81b (diff)
[PATCH] sky2: netpoll on dual port cards
The sky2 driver uses a single NAPI poll routine for both ports on dual ported cards (because there is a single IRQ and status ring). Netpoll makes assumptions about the relationship between network device and NAPI that aren't correct on the second port, this will cause the port to never clear work. Most systems, just have single port, so not a big issue. The easy fix is just make the second port, not netpoll capable. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r--drivers/net/sky2.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 53171f62b267..16616f5440d0 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -3238,7 +3238,11 @@ static __devinit struct net_device *sky2_init_netdev(struct sky2_hw *hw,
3238 dev->poll = sky2_poll; 3238 dev->poll = sky2_poll;
3239 dev->weight = NAPI_WEIGHT; 3239 dev->weight = NAPI_WEIGHT;
3240#ifdef CONFIG_NET_POLL_CONTROLLER 3240#ifdef CONFIG_NET_POLL_CONTROLLER
3241 dev->poll_controller = sky2_netpoll; 3241 /* Network console (only works on port 0)
3242 * because netpoll makes assumptions about NAPI
3243 */
3244 if (port == 0)
3245 dev->poll_controller = sky2_netpoll;
3242#endif 3246#endif
3243 3247
3244 sky2 = netdev_priv(dev); 3248 sky2 = netdev_priv(dev);