ARCNET: return IRQ_NONE if the interface isn't running
authorMichael Grzeschik <m.grzeschik@pengutronix.de>
Mon, 29 Sep 2014 09:55:34 +0000 (11:55 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 29 Sep 2014 18:36:25 +0000 (14:36 -0400)
The interrupt handler needs to return IRQ_NONE in case
two devices are used with the shared interrupt handler.
Otherwise it could steal interrupts from the other
interface.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/arcnet/arcnet.c

index 3b790de6c97652791dbfadf0300d4f141c840d6d..09de683c167ecf692ac5178644e46b96ac3d7853 100644 (file)
@@ -777,7 +777,7 @@ irqreturn_t arcnet_interrupt(int irq, void *dev_id)
                        ACOMMAND(CFLAGScmd | RESETclear);
                AINTMASK(0);
                spin_unlock(&lp->lock);
-               return IRQ_HANDLED;
+               return retval;
        }
 
        BUGMSG(D_DURING, "in arcnet_inthandler (status=%Xh, intmask=%Xh)\n",