aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/isp1760-hcd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/isp1760-hcd.c')
-rw-r--r--drivers/usb/host/isp1760-hcd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/host/isp1760-hcd.c b/drivers/usb/host/isp1760-hcd.c
index 795345ad45e6..564b03337e7e 100644
--- a/drivers/usb/host/isp1760-hcd.c
+++ b/drivers/usb/host/isp1760-hcd.c
@@ -1676,13 +1676,15 @@ static irqreturn_t isp1760_irq(struct usb_hcd *hcd)
1676 if (unlikely(!imask)) 1676 if (unlikely(!imask))
1677 goto leave; 1677 goto leave;
1678 1678
1679 reg_write32(hcd->regs, HC_INTERRUPT_REG, imask);
1680 if (imask & (HC_ATL_INT | HC_SOT_INT)) 1679 if (imask & (HC_ATL_INT | HC_SOT_INT))
1681 do_atl_int(hcd); 1680 do_atl_int(hcd);
1682 1681
1683 if (imask & HC_INTL_INT) 1682 if (imask & HC_INTL_INT)
1684 do_intl_int(hcd); 1683 do_intl_int(hcd);
1685 1684
1685 /* Clear interrupt mask on device after the work is done */
1686 reg_write32(hcd->regs, HC_INTERRUPT_REG, imask);
1687
1686 irqret = IRQ_HANDLED; 1688 irqret = IRQ_HANDLED;
1687leave: 1689leave:
1688 spin_unlock(&priv->lock); 1690 spin_unlock(&priv->lock);