aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorcaizhiyong <caizhiyong@huawei.com>2013-07-26 03:12:14 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-07-26 16:55:21 -0400
commit435932f2c75efcdd07273a437b9be32647d56d73 (patch)
treea4cd7c9c3055073ad1c15b032fae4928fc294747 /drivers
parent4e682bbd32708f3eab55b66960933b36bc00e31a (diff)
USB: ohci_usb warn "irq nobody cared" on shutdown
When ohci-hcd is shutting down, call ohci_usb_reset reset ohci-hcd, the root hub generate an interrupt, but ohci->rh_state is OHCI_RH_HALTED, and ohci_irq ignore the interrupt, the kernel trigger warning "irq nobody cared". ehci-hcd is first disable interrupts, then reset ehci. This patch disable ohci interrupt before reset ohci. The patch is tested at the arm cortex-a9 demo board. Signed-off-by: caizhiyong <caizhiyong@huawei.com> Reviewed-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/host/ohci-hcd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index a9d3437da220..8f6b695af6a4 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -938,8 +938,8 @@ static void ohci_stop (struct usb_hcd *hcd)
938 if (quirk_nec(ohci)) 938 if (quirk_nec(ohci))
939 flush_work(&ohci->nec_work); 939 flush_work(&ohci->nec_work);
940 940
941 ohci_usb_reset (ohci);
942 ohci_writel (ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable); 941 ohci_writel (ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable);
942 ohci_usb_reset(ohci);
943 free_irq(hcd->irq, hcd); 943 free_irq(hcd->irq, hcd);
944 hcd->irq = 0; 944 hcd->irq = 0;
945 945