aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-06-13 04:17:29 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-13 16:16:41 -0400
commit26ec43f132d1cf282124a020b2bb5310496c9132 (patch)
treedf15d8e8be20cde5f02db5546affb77fdd0cfbc4
parentf05267e7dee58741a4feb20d0351706ec64bb0b5 (diff)
[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)
2181 u32 status = sky2_read32(hw, B0_Y2_SP_EISR); 2181 u32 status = sky2_read32(hw, B0_Y2_SP_EISR);
2182 2182
2183 if (!~status) 2183 if (!~status)
2184 return 0; 2184 goto out;
2185 2185
2186 if (status & Y2_IS_HW_ERR) 2186 if (status & Y2_IS_HW_ERR)
2187 sky2_hw_intr(hw); 2187 sky2_hw_intr(hw);
@@ -2219,7 +2219,7 @@ static int sky2_poll(struct net_device *dev0, int *budget)
2219 2219
2220 if (sky2_more_work(hw)) 2220 if (sky2_more_work(hw))
2221 return 1; 2221 return 1;
2222 2222out:
2223 netif_rx_complete(dev0); 2223 netif_rx_complete(dev0);
2224 2224
2225 sky2_read32(hw, B0_Y2_SP_LISR); 2225 sky2_read32(hw, B0_Y2_SP_LISR);