Loading drivers/usb/dwc3/dwc3-msm.c +6 −5 Original line number Diff line number Diff line Loading @@ -3514,12 +3514,13 @@ static int dwc3_msm_probe(struct platform_device *pdev) } /* * Create freezable workqueue for sm_work so that it gets scheduled only * after pm_resume has happened completely. This helps in avoiding race * conditions between xhci_plat_resume and xhci_runtime_resume; and also * between hcd disconnect and xhci_resume. * Create an ordered freezable workqueue for sm_work so that it gets * scheduled only after pm_resume has happened completely. This helps * in avoiding race conditions between xhci_plat_resume and * xhci_runtime_resume and also between hcd disconnect and xhci_resume. */ mdwc->sm_usb_wq = create_freezable_workqueue("k_sm_usb"); mdwc->sm_usb_wq = alloc_ordered_workqueue("k_sm_usb", WQ_FREEZABLE | WQ_MEM_RECLAIM); if (!mdwc->sm_usb_wq) { destroy_workqueue(mdwc->dwc3_wq); return -ENOMEM; Loading Loading
drivers/usb/dwc3/dwc3-msm.c +6 −5 Original line number Diff line number Diff line Loading @@ -3514,12 +3514,13 @@ static int dwc3_msm_probe(struct platform_device *pdev) } /* * Create freezable workqueue for sm_work so that it gets scheduled only * after pm_resume has happened completely. This helps in avoiding race * conditions between xhci_plat_resume and xhci_runtime_resume; and also * between hcd disconnect and xhci_resume. * Create an ordered freezable workqueue for sm_work so that it gets * scheduled only after pm_resume has happened completely. This helps * in avoiding race conditions between xhci_plat_resume and * xhci_runtime_resume and also between hcd disconnect and xhci_resume. */ mdwc->sm_usb_wq = create_freezable_workqueue("k_sm_usb"); mdwc->sm_usb_wq = alloc_ordered_workqueue("k_sm_usb", WQ_FREEZABLE | WQ_MEM_RECLAIM); if (!mdwc->sm_usb_wq) { destroy_workqueue(mdwc->dwc3_wq); return -ENOMEM; Loading