aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-07-17 09:54:34 -0400
committerJeff Garzik <jeff@garzik.org>2006-07-17 13:27:46 -0400
commitcaa0371e8b7391919d984672c887f660a6117f67 (patch)
tree514508473e8a8f73a59bca9defc7cd32139b00b2 /drivers
parent83b0fe818cd2f6cc03365440f2b7cca297a45b4f (diff)
downloadlinux-caa0371e8b7391919d984672c887f660a6117f67.tar.gz
[PATCH] sky2: NAPI poll fix
When sky2 driver gets lots of received packets at once, it can get stuck. The NAPI poll routine gets called back to keep going, but since no IRQ bits are set it doesn't make progress. Increase version, since this is serious enough problem that I want to be able to tell new from old problems. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/sky2.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index d98f28c34e5cf1..de91609ca11230 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -50,7 +50,7 @@
#include "sky2.h"
#define DRV_NAME "sky2"
-#define DRV_VERSION "1.4"
+#define DRV_VERSION "1.5"
#define PFX DRV_NAME " "
/*
@@ -2204,9 +2204,6 @@ static int sky2_poll(struct net_device *dev0, int *budget)
int work_done = 0;
u32 status = sky2_read32(hw, B0_Y2_SP_EISR);
- if (!~status)
- goto out;
-
if (status & Y2_IS_HW_ERR)
sky2_hw_intr(hw);
@@ -2243,7 +2240,7 @@ static int sky2_poll(struct net_device *dev0, int *budget)
if (sky2_more_work(hw))
return 1;
-out:
+
netif_rx_complete(dev0);
sky2_read32(hw, B0_Y2_SP_LISR);