summaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/net2280.c
diff options
context:
space:
mode:
authorAlan Stern2006-04-14 22:44:11 +0200
committerGreg Kroah-Hartman2006-04-27 19:28:58 +0200
commit658ad5e001a17be5fadaa8d57d1aa7f7c62628c1 (patch)
treee592a1b9fc5d87a3912ada621b76a4897804cd74 /drivers/usb/gadget/net2280.c
parent[PATCH] USB: net2280: send 0-length packets for ep0 (diff)
downloadkernel-qcow2-linux-658ad5e001a17be5fadaa8d57d1aa7f7c62628c1.tar.gz
kernel-qcow2-linux-658ad5e001a17be5fadaa8d57d1aa7f7c62628c1.tar.xz
kernel-qcow2-linux-658ad5e001a17be5fadaa8d57d1aa7f7c62628c1.zip
[PATCH] USB: net2280: check for shared IRQs
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>
Diffstat (limited to 'drivers/usb/gadget/net2280.c')
-rw-r--r--drivers/usb/gadget/net2280.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/gadget/net2280.c b/drivers/usb/gadget/net2280.c
index c842b194cf0f..b2d507f16b85 100644
--- a/drivers/usb/gadget/net2280.c
+++ b/drivers/usb/gadget/net2280.c
@@ -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 */