From 5c850416984597ce243ada722427e47c93632ffe Mon Sep 17 00:00:00 2001 From: Stefano Babic Date: Mon, 15 Oct 2012 11:20:22 +0200 Subject: [PATCH] --- yaml --- r: 334552 b: refs/heads/master c: 6ff1f3d3bd7c69c62ca5773b1b684bce42eff06a h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/usb/musb/am35x.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 9e80bc3e34a5..43ab1f4445ce 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 041d81f493d90c940ec41f0ec98bc7c4f2fba431 +refs/heads/master: 6ff1f3d3bd7c69c62ca5773b1b684bce42eff06a diff --git a/trunk/drivers/usb/musb/am35x.c b/trunk/drivers/usb/musb/am35x.c index 457f25e62c51..c964d6af178b 100644 --- a/trunk/drivers/usb/musb/am35x.c +++ b/trunk/drivers/usb/musb/am35x.c @@ -305,6 +305,12 @@ static irqreturn_t am35x_musb_interrupt(int irq, void *hci) ret = IRQ_HANDLED; } + /* Drop spurious RX and TX if device is disconnected */ + if (musb->int_usb & MUSB_INTR_DISCONNECT) { + musb->int_tx = 0; + musb->int_rx = 0; + } + if (musb->int_tx || musb->int_rx || musb->int_usb) ret |= musb_interrupt(musb);