[PATCH] sky2: fix hotplug detect during poll
authorStephen Hemminger <shemminger@osdl.org>
Tue, 13 Jun 2006 08:17:29 +0000 (17:17 +0900)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 13 Jun 2006 20:16:41 +0000 (13:16 -0700)
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>
drivers/net/sky2.c

index 6ad676d2cbc1b7c71ee01098452ca23a759b719f..b680e64ad2ca33c9948436048eac0225fe82f0df 100644 (file)
@@ -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);