diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2006-06-13 04:17:29 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-13 16:16:41 -0400 |
commit | 26ec43f132d1cf282124a020b2bb5310496c9132 (patch) | |
tree | df15d8e8be20cde5f02db5546affb77fdd0cfbc4 /drivers/net | |
parent | f05267e7dee58741a4feb20d0351706ec64bb0b5 (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>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/sky2.c | 4 |
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 | 2222 | out: | |
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); |