diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2006-06-13 17:17:29 +0900 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-13 13:16:41 -0700 |
commit | 26ec43f132d1cf282124a020b2bb5310496c9132 (patch) | |
tree | df15d8e8be20cde5f02db5546affb77fdd0cfbc4 /drivers/net/sky2.c | |
parent | f05267e7dee58741a4feb20d0351706ec64bb0b5 (diff) | |
download | op-kernel-dev-26ec43f132d1cf282124a020b2bb5310496c9132.zip op-kernel-dev-26ec43f132d1cf282124a020b2bb5310496c9132.tar.gz |
[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 6ad676d..b680e64 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); |