diff options
Diffstat (limited to 'drivers/usb/host/isp1760-hcd.c')
-rw-r--r-- | drivers/usb/host/isp1760-hcd.c | 4 |
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; |
1687 | leave: | 1689 | leave: |
1688 | spin_unlock(&priv->lock); | 1690 | spin_unlock(&priv->lock); |