summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-06-13 17:17:29 +0900
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-13 13:16:41 -0700
commit26ec43f132d1cf282124a020b2bb5310496c9132 (patch)
treedf15d8e8be20cde5f02db5546affb77fdd0cfbc4
parentf05267e7dee58741a4feb20d0351706ec64bb0b5 (diff)
downloadlinux-26ec43f132d1cf282124a020b2bb5310496c9132.tar.gz
linux-26ec43f132d1cf282124a020b2bb5310496c9132.tar.bz2
linux-26ec43f132d1cf282124a020b2bb5310496c9132.zip
[PATCH] sky2: fix hotplug detect during poll
If the poll routine detects no hardware available, it needs to dequeue it self from the network poll list. Linus didn't understand NAPI. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/net/sky2.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 6ad676d2cbc1..b680e64ad2ca 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -2181,7 +2181,7 @@ static int sky2_poll(struct net_device *dev0, int *budget)
u32 status = sky2_read32(hw, B0_Y2_SP_EISR);
if (!~status)
- return 0;
+ goto out;
if (status & Y2_IS_HW_ERR)
sky2_hw_intr(hw);
@@ -2219,7 +2219,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);