aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/host/ehci-hcd.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index 40f7391bf2aa..8c3e860bfce3 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -686,6 +686,8 @@ static irqreturn_t ehci_irq (struct usb_hcd *hcd)
686 /* remote wakeup [4.3.1] */ 686 /* remote wakeup [4.3.1] */
687 if (status & STS_PCD) { 687 if (status & STS_PCD) {
688 unsigned i = HCS_N_PORTS (ehci->hcs_params); 688 unsigned i = HCS_N_PORTS (ehci->hcs_params);
689
690 /* kick root hub later */
689 pcd_status = status; 691 pcd_status = status;
690 692
691 /* resume root hub? */ 693 /* resume root hub? */
@@ -714,8 +716,6 @@ static irqreturn_t ehci_irq (struct usb_hcd *hcd)
714 716
715 /* PCI errors [4.15.2.4] */ 717 /* PCI errors [4.15.2.4] */
716 if (unlikely ((status & STS_FATAL) != 0)) { 718 if (unlikely ((status & STS_FATAL) != 0)) {
717 /* bogus "fatal" IRQs appear on some chips... why? */
718 status = ehci_readl(ehci, &ehci->regs->status);
719 dbg_cmd (ehci, "fatal", ehci_readl(ehci, 719 dbg_cmd (ehci, "fatal", ehci_readl(ehci,
720 &ehci->regs->command)); 720 &ehci->regs->command));
721 dbg_status (ehci, "fatal", status); 721 dbg_status (ehci, "fatal", status);
@@ -734,7 +734,7 @@ dead:
734 if (bh) 734 if (bh)
735 ehci_work (ehci); 735 ehci_work (ehci);
736 spin_unlock (&ehci->lock); 736 spin_unlock (&ehci->lock);
737 if (pcd_status & STS_PCD) 737 if (pcd_status)
738 usb_hcd_poll_rh_status(hcd); 738 usb_hcd_poll_rh_status(hcd);
739 return IRQ_HANDLED; 739 return IRQ_HANDLED;
740} 740}