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/sky2.c | |
| 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/sky2.c')
| -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); |
