Loading drivers/usb/dwc3/core.c +2 −2 Original line number Diff line number Diff line Loading @@ -810,8 +810,8 @@ static int dwc3_probe(struct platform_device *pdev) dwc->xhci_resources[1].name = res->name; irq = platform_get_irq(to_platform_device(dwc->dev), 0); ret = devm_request_irq(dev, irq, dwc3_interrupt, IRQF_SHARED, "dwc3", dwc); ret = devm_request_threaded_irq(dev, irq, NULL, dwc3_interrupt, IRQF_SHARED | IRQF_ONESHOT, "dwc3", dwc); if (ret) { dev_err(dwc->dev, "failed to request irq #%d --> %d\n", irq, ret); Loading drivers/usb/dwc3/core.h +0 −1 Original line number Diff line number Diff line Loading @@ -973,7 +973,6 @@ struct dwc3 { /* IRQ timing statistics */ int irq; struct tasklet_struct bh; unsigned long irq_cnt; unsigned long ep_cmd_timeout_cnt; unsigned bh_completion_time[MAX_INTR_STATS]; Loading drivers/usb/dwc3/dwc3-msm.c +0 −1 Original line number Diff line number Diff line Loading @@ -2056,7 +2056,6 @@ static int dwc3_msm_suspend(struct dwc3_msm *mdwc) can_suspend_ssphy = !(mdwc->in_host_mode && dwc3_msm_is_host_superspeed(mdwc)); tasklet_kill(&dwc->bh); /* Disable core irq */ if (dwc->irq) disable_irq(dwc->irq); Loading drivers/usb/dwc3/gadget.c +2 −17 Original line number Diff line number Diff line Loading @@ -2247,8 +2247,6 @@ static int dwc3_gadget_stop(struct usb_gadget *g, dwc3_gadget_disable_irq(dwc); tasklet_kill(&dwc->bh); spin_lock_irqsave(&dwc->lock, flags); __dwc3_gadget_ep_disable(dwc->eps[0]); Loading Loading @@ -3531,14 +3529,6 @@ static irqreturn_t dwc3_process_event_buf(struct dwc3 *dwc, u32 buf) return ret; } static void dwc3_interrupt_bh(unsigned long param) { struct dwc3 *dwc = (struct dwc3 *) param; dwc3_thread_interrupt(dwc->irq, dwc); enable_irq(dwc->irq); } static irqreturn_t dwc3_thread_interrupt(int irq, void *_dwc) { struct dwc3 *dwc = _dwc; Loading Loading @@ -3633,10 +3623,8 @@ irqreturn_t dwc3_interrupt(int irq, void *_dwc) dwc->irq_event_count[dwc->irq_dbg_index] = temp_cnt / 4; dwc->irq_dbg_index = (dwc->irq_dbg_index + 1) % MAX_INTR_STATS; if (ret == IRQ_WAKE_THREAD) { disable_irq_nosync(irq); tasklet_schedule(&dwc->bh); } if (ret == IRQ_WAKE_THREAD) dwc3_thread_interrupt(dwc->irq, dwc); return IRQ_HANDLED; } Loading Loading @@ -3684,9 +3672,6 @@ int dwc3_gadget_init(struct dwc3 *dwc) goto err3; } dwc->bh.func = dwc3_interrupt_bh; dwc->bh.data = (unsigned long)dwc; dwc->gadget.ops = &dwc3_gadget_ops; dwc->gadget.max_speed = USB_SPEED_SUPER; dwc->gadget.speed = USB_SPEED_UNKNOWN; Loading drivers/usb/host/xhci-plat.c +1 −1 Original line number Diff line number Diff line Loading @@ -229,7 +229,7 @@ static int xhci_plat_probe(struct platform_device *pdev) if (HCC_MAX_PSA(xhci->hcc_params) >= 4) xhci->shared_hcd->can_do_streams = 1; ret = usb_add_hcd(xhci->shared_hcd, irq, IRQF_SHARED); ret = usb_add_hcd(xhci->shared_hcd, irq, IRQF_SHARED | IRQF_ONESHOT); if (ret) goto put_usb3_hcd; Loading Loading
drivers/usb/dwc3/core.c +2 −2 Original line number Diff line number Diff line Loading @@ -810,8 +810,8 @@ static int dwc3_probe(struct platform_device *pdev) dwc->xhci_resources[1].name = res->name; irq = platform_get_irq(to_platform_device(dwc->dev), 0); ret = devm_request_irq(dev, irq, dwc3_interrupt, IRQF_SHARED, "dwc3", dwc); ret = devm_request_threaded_irq(dev, irq, NULL, dwc3_interrupt, IRQF_SHARED | IRQF_ONESHOT, "dwc3", dwc); if (ret) { dev_err(dwc->dev, "failed to request irq #%d --> %d\n", irq, ret); Loading
drivers/usb/dwc3/core.h +0 −1 Original line number Diff line number Diff line Loading @@ -973,7 +973,6 @@ struct dwc3 { /* IRQ timing statistics */ int irq; struct tasklet_struct bh; unsigned long irq_cnt; unsigned long ep_cmd_timeout_cnt; unsigned bh_completion_time[MAX_INTR_STATS]; Loading
drivers/usb/dwc3/dwc3-msm.c +0 −1 Original line number Diff line number Diff line Loading @@ -2056,7 +2056,6 @@ static int dwc3_msm_suspend(struct dwc3_msm *mdwc) can_suspend_ssphy = !(mdwc->in_host_mode && dwc3_msm_is_host_superspeed(mdwc)); tasklet_kill(&dwc->bh); /* Disable core irq */ if (dwc->irq) disable_irq(dwc->irq); Loading
drivers/usb/dwc3/gadget.c +2 −17 Original line number Diff line number Diff line Loading @@ -2247,8 +2247,6 @@ static int dwc3_gadget_stop(struct usb_gadget *g, dwc3_gadget_disable_irq(dwc); tasklet_kill(&dwc->bh); spin_lock_irqsave(&dwc->lock, flags); __dwc3_gadget_ep_disable(dwc->eps[0]); Loading Loading @@ -3531,14 +3529,6 @@ static irqreturn_t dwc3_process_event_buf(struct dwc3 *dwc, u32 buf) return ret; } static void dwc3_interrupt_bh(unsigned long param) { struct dwc3 *dwc = (struct dwc3 *) param; dwc3_thread_interrupt(dwc->irq, dwc); enable_irq(dwc->irq); } static irqreturn_t dwc3_thread_interrupt(int irq, void *_dwc) { struct dwc3 *dwc = _dwc; Loading Loading @@ -3633,10 +3623,8 @@ irqreturn_t dwc3_interrupt(int irq, void *_dwc) dwc->irq_event_count[dwc->irq_dbg_index] = temp_cnt / 4; dwc->irq_dbg_index = (dwc->irq_dbg_index + 1) % MAX_INTR_STATS; if (ret == IRQ_WAKE_THREAD) { disable_irq_nosync(irq); tasklet_schedule(&dwc->bh); } if (ret == IRQ_WAKE_THREAD) dwc3_thread_interrupt(dwc->irq, dwc); return IRQ_HANDLED; } Loading Loading @@ -3684,9 +3672,6 @@ int dwc3_gadget_init(struct dwc3 *dwc) goto err3; } dwc->bh.func = dwc3_interrupt_bh; dwc->bh.data = (unsigned long)dwc; dwc->gadget.ops = &dwc3_gadget_ops; dwc->gadget.max_speed = USB_SPEED_SUPER; dwc->gadget.speed = USB_SPEED_UNKNOWN; Loading
drivers/usb/host/xhci-plat.c +1 −1 Original line number Diff line number Diff line Loading @@ -229,7 +229,7 @@ static int xhci_plat_probe(struct platform_device *pdev) if (HCC_MAX_PSA(xhci->hcc_params) >= 4) xhci->shared_hcd->can_do_streams = 1; ret = usb_add_hcd(xhci->shared_hcd, irq, IRQF_SHARED); ret = usb_add_hcd(xhci->shared_hcd, irq, IRQF_SHARED | IRQF_ONESHOT); if (ret) goto put_usb3_hcd; Loading