[PATCH] USB: net2280: check for shared IRQs
authorAlan Stern <stern@rowland.harvard.edu>
Fri, 14 Apr 2006 20:44:11 +0000 (16:44 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 27 Apr 2006 17:28:58 +0000 (10:28 -0700)
This patch (as670) adds a check for whether a shared IRQ was actually
generated by the net2280 device.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/gadget/net2280.c

index c842b194cf0f6c7ef7e332592235419d166a0317..b2d507f16b85d0045d05018d54536ee742f77b95 100644 (file)
@@ -2742,6 +2742,10 @@ static irqreturn_t net2280_irq (int irq, void *_dev, struct pt_regs * r)
 {
        struct net2280          *dev = _dev;
 
+       /* shared interrupt, not ours */
+       if (!(readl(&dev->regs->irqstat0) & (1 << INTA_ASSERTED)))
+               return IRQ_NONE;
+
        spin_lock (&dev->lock);
 
        /* handle disconnect, dma, and more */