if (int_status & SOFEOP_FLG(sie->sie_num)) {
                c67x00_ll_usb_clear_status(sie, SOF_EOP_IRQ_FLG);
                c67x00_sched_kick(c67x00);
-               set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);
        }
 }
 
 
 
        pci_set_master(pci_dev);
 
-       clear_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);
-       if (hcd->shared_hcd)
-               clear_bit(HCD_FLAG_SAW_IRQ, &hcd->shared_hcd->flags);
-
        if (hcd->driver->pci_resume && !HCD_DEAD(hcd)) {
                if (event != PM_EVENT_AUTO_RESUME)
                        wait_for_companions(pci_dev, hcd);
 
        if (urb->unlinked)
                return -EBUSY;
        urb->unlinked = status;
-
-       /* IRQ setup can easily be broken so that USB controllers
-        * never get completion IRQs ... maybe even the ones we need to
-        * finish unlinking the initial failed usb_set_address()
-        * or device descriptor fetch.
-        */
-       if (!HCD_SAW_IRQ(hcd) && !is_root_hub(urb->dev)) {
-               dev_warn(hcd->self.controller, "Unlink after no-IRQ?  "
-                       "Controller is probably using the wrong IRQ.\n");
-               set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);
-               if (hcd->shared_hcd)
-                       set_bit(HCD_FLAG_SAW_IRQ, &hcd->shared_hcd->flags);
-       }
-
        return 0;
 }
 EXPORT_SYMBOL_GPL(usb_hcd_check_unlink_urb);
         */
        local_irq_save(flags);
 
-       if (unlikely(HCD_DEAD(hcd) || !HCD_HW_ACCESSIBLE(hcd))) {
+       if (unlikely(HCD_DEAD(hcd) || !HCD_HW_ACCESSIBLE(hcd)))
                rc = IRQ_NONE;
-       } else if (hcd->driver->irq(hcd) == IRQ_NONE) {
+       else if (hcd->driver->irq(hcd) == IRQ_NONE)
                rc = IRQ_NONE;
-       } else {
-               set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);
-               if (hcd->shared_hcd)
-                       set_bit(HCD_FLAG_SAW_IRQ, &hcd->shared_hcd->flags);
+       else
                rc = IRQ_HANDLED;
-       }
 
        local_irq_restore(flags);
        return rc;
 
                goto error_alloc;
        }
        usb_hcd->wireless = 1;
-       set_bit(HCD_FLAG_SAW_IRQ, &usb_hcd->flags);
        wusbhc = usb_hcd_to_wusbhc(usb_hcd);
        hwahc = container_of(wusbhc, struct hwahc, wusbhc);
        hwahc_init(hwahc);
 
 
 irqreturn_t xhci_msi_irq(int irq, struct usb_hcd *hcd)
 {
-       irqreturn_t ret;
-       struct xhci_hcd *xhci;
-
-       xhci = hcd_to_xhci(hcd);
-       set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);
-       if (xhci->shared_hcd)
-               set_bit(HCD_FLAG_SAW_IRQ, &xhci->shared_hcd->flags);
-
-       ret = xhci_irq(hcd);
-
-       return ret;
+       return xhci_irq(hcd);
 }
 
 /****          Endpoint Ring Operations        ****/
 
 
                handled = IRQ_HANDLED;
                musb->is_active = 1;
-               set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);
 
                musb->ep0_stage = MUSB_EP0_START;
 
 
         */
        unsigned long           flags;
 #define HCD_FLAG_HW_ACCESSIBLE         0       /* at full power */
-#define HCD_FLAG_SAW_IRQ               1
 #define HCD_FLAG_POLL_RH               2       /* poll for rh status? */
 #define HCD_FLAG_POLL_PENDING          3       /* status has changed? */
 #define HCD_FLAG_WAKEUP_PENDING                4       /* root hub is resuming? */
         * be slightly faster than test_bit().
         */
 #define HCD_HW_ACCESSIBLE(hcd) ((hcd)->flags & (1U << HCD_FLAG_HW_ACCESSIBLE))
-#define HCD_SAW_IRQ(hcd)       ((hcd)->flags & (1U << HCD_FLAG_SAW_IRQ))
 #define HCD_POLL_RH(hcd)       ((hcd)->flags & (1U << HCD_FLAG_POLL_RH))
 #define HCD_POLL_PENDING(hcd)  ((hcd)->flags & (1U << HCD_FLAG_POLL_PENDING))
 #define HCD_WAKEUP_PENDING(hcd)        ((hcd)->flags & (1U << HCD_FLAG_WAKEUP_PENDING))