aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/c67x00/c67x00-hcd.c1
-rw-r--r--drivers/usb/core/hcd-pci.c4
-rw-r--r--drivers/usb/core/hcd.c24
-rw-r--r--drivers/usb/host/hwa-hc.c1
-rw-r--r--drivers/usb/host/xhci-ring.c12
-rw-r--r--drivers/usb/musb/musb_core.c1
6 files changed, 4 insertions, 39 deletions
diff --git a/drivers/usb/c67x00/c67x00-hcd.c b/drivers/usb/c67x00/c67x00-hcd.c
index d3e1356d091e..75e47b860a53 100644
--- a/drivers/usb/c67x00/c67x00-hcd.c
+++ b/drivers/usb/c67x00/c67x00-hcd.c
@@ -271,7 +271,6 @@ static void c67x00_hcd_irq(struct c67x00_sie *sie, u16 int_status, u16 msg)
271 if (int_status & SOFEOP_FLG(sie->sie_num)) { 271 if (int_status & SOFEOP_FLG(sie->sie_num)) {
272 c67x00_ll_usb_clear_status(sie, SOF_EOP_IRQ_FLG); 272 c67x00_ll_usb_clear_status(sie, SOF_EOP_IRQ_FLG);
273 c67x00_sched_kick(c67x00); 273 c67x00_sched_kick(c67x00);
274 set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);
275 } 274 }
276} 275}
277 276
diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c
index a004db35f6d0..d136b8f4c8a7 100644
--- a/drivers/usb/core/hcd-pci.c
+++ b/drivers/usb/core/hcd-pci.c
@@ -453,10 +453,6 @@ static int resume_common(struct device *dev, int event)
453 453
454 pci_set_master(pci_dev); 454 pci_set_master(pci_dev);
455 455
456 clear_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);
457 if (hcd->shared_hcd)
458 clear_bit(HCD_FLAG_SAW_IRQ, &hcd->shared_hcd->flags);
459
460 if (hcd->driver->pci_resume && !HCD_DEAD(hcd)) { 456 if (hcd->driver->pci_resume && !HCD_DEAD(hcd)) {
461 if (event != PM_EVENT_AUTO_RESUME) 457 if (event != PM_EVENT_AUTO_RESUME)
462 wait_for_companions(pci_dev, hcd); 458 wait_for_companions(pci_dev, hcd);
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
index 13222d352a61..43a89e4ba928 100644
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -1168,20 +1168,6 @@ int usb_hcd_check_unlink_urb(struct usb_hcd *hcd, struct urb *urb,
1168 if (urb->unlinked) 1168 if (urb->unlinked)
1169 return -EBUSY; 1169 return -EBUSY;
1170 urb->unlinked = status; 1170 urb->unlinked = status;
1171
1172 /* IRQ setup can easily be broken so that USB controllers
1173 * never get completion IRQs ... maybe even the ones we need to
1174 * finish unlinking the initial failed usb_set_address()
1175 * or device descriptor fetch.
1176 */
1177 if (!HCD_SAW_IRQ(hcd) && !is_root_hub(urb->dev)) {
1178 dev_warn(hcd->self.controller, "Unlink after no-IRQ? "
1179 "Controller is probably using the wrong IRQ.\n");
1180 set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);
1181 if (hcd->shared_hcd)
1182 set_bit(HCD_FLAG_SAW_IRQ, &hcd->shared_hcd->flags);
1183 }
1184
1185 return 0; 1171 return 0;
1186} 1172}
1187EXPORT_SYMBOL_GPL(usb_hcd_check_unlink_urb); 1173EXPORT_SYMBOL_GPL(usb_hcd_check_unlink_urb);
@@ -2148,16 +2134,12 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd)
2148 */ 2134 */
2149 local_irq_save(flags); 2135 local_irq_save(flags);
2150 2136
2151 if (unlikely(HCD_DEAD(hcd) || !HCD_HW_ACCESSIBLE(hcd))) { 2137 if (unlikely(HCD_DEAD(hcd) || !HCD_HW_ACCESSIBLE(hcd)))
2152 rc = IRQ_NONE; 2138 rc = IRQ_NONE;
2153 } else if (hcd->driver->irq(hcd) == IRQ_NONE) { 2139 else if (hcd->driver->irq(hcd) == IRQ_NONE)
2154 rc = IRQ_NONE; 2140 rc = IRQ_NONE;
2155 } else { 2141 else
2156 set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);
2157 if (hcd->shared_hcd)
2158 set_bit(HCD_FLAG_SAW_IRQ, &hcd->shared_hcd->flags);
2159 rc = IRQ_HANDLED; 2142 rc = IRQ_HANDLED;
2160 }
2161 2143
2162 local_irq_restore(flags); 2144 local_irq_restore(flags);
2163 return rc; 2145 return rc;
diff --git a/drivers/usb/host/hwa-hc.c b/drivers/usb/host/hwa-hc.c
index 9bfac657572e..565d79f06e6f 100644
--- a/drivers/usb/host/hwa-hc.c
+++ b/drivers/usb/host/hwa-hc.c
@@ -776,7 +776,6 @@ static int hwahc_probe(struct usb_interface *usb_iface,
776 goto error_alloc; 776 goto error_alloc;
777 } 777 }
778 usb_hcd->wireless = 1; 778 usb_hcd->wireless = 1;
779 set_bit(HCD_FLAG_SAW_IRQ, &usb_hcd->flags);
780 wusbhc = usb_hcd_to_wusbhc(usb_hcd); 779 wusbhc = usb_hcd_to_wusbhc(usb_hcd);
781 hwahc = container_of(wusbhc, struct hwahc, wusbhc); 780 hwahc = container_of(wusbhc, struct hwahc, wusbhc);
782 hwahc_init(hwahc); 781 hwahc_init(hwahc);
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 940321b3ec68..2f8c17381c6c 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -2389,17 +2389,7 @@ hw_died:
2389 2389
2390irqreturn_t xhci_msi_irq(int irq, struct usb_hcd *hcd) 2390irqreturn_t xhci_msi_irq(int irq, struct usb_hcd *hcd)
2391{ 2391{
2392 irqreturn_t ret; 2392 return xhci_irq(hcd);
2393 struct xhci_hcd *xhci;
2394
2395 xhci = hcd_to_xhci(hcd);
2396 set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);
2397 if (xhci->shared_hcd)
2398 set_bit(HCD_FLAG_SAW_IRQ, &xhci->shared_hcd->flags);
2399
2400 ret = xhci_irq(hcd);
2401
2402 return ret;
2403} 2393}
2404 2394
2405/**** Endpoint Ring Operations ****/ 2395/**** Endpoint Ring Operations ****/
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index 20a28731c338..12044c473c38 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -661,7 +661,6 @@ static irqreturn_t musb_stage0_irq(struct musb *musb, u8 int_usb,
661 661
662 handled = IRQ_HANDLED; 662 handled = IRQ_HANDLED;
663 musb->is_active = 1; 663 musb->is_active = 1;
664 set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);
665 664
666 musb->ep0_stage = MUSB_EP0_START; 665 musb->ep0_stage = MUSB_EP0_START;
667 666