ethoc: enable interrupts after napi_complete
authorAdam Edvardsson <adam.edvardsson@orsoc.se>
Thu, 25 Nov 2010 02:30:27 +0000 (02:30 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 28 Nov 2010 19:16:35 +0000 (11:16 -0800)
Occasionally, it seems that some race is causing the interrupts to not be
reenabled otherwise with the end result that networking just stops working.
Enabling interrupts after calling napi_complete is more in line with what
other drivers do.

Signed-off-by: Jonas Bonn <jonas@southpole.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethoc.c

index e9e712e0f92c9f2045a2d19e46867ac6ad141392..db444a73e4b11b87a912b3ce7b2c9ab665d6a680 100644 (file)
@@ -569,8 +569,8 @@ static int ethoc_poll(struct napi_struct *napi, int budget)
 
        work_done = ethoc_rx(priv->netdev, budget);
        if (work_done < budget) {
-               ethoc_enable_irq(priv, INT_MASK_RX);
                napi_complete(napi);
+               ethoc_enable_irq(priv, INT_MASK_RX);
        }
 
        return work_done;