diff options
Diffstat (limited to 'drivers/usb/musb/am35x.c')
| -rw-r--r-- | drivers/usb/musb/am35x.c | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/musb/am35x.c b/drivers/usb/musb/am35x.c index 457f25e62c5..c964d6af178 100644 --- a/drivers/usb/musb/am35x.c +++ b/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);  |