From: Dinh Nguyen <dinguyen@xxxxxxxxxx> The Host workqueue will not get initialized if the driver is configured for peripheral mode only. Thus we need to check for wq_otg before calling queue_work(). Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxx> --- drivers/usb/dwc2/core_intr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/usb/dwc2/core_intr.c b/drivers/usb/dwc2/core_intr.c index 7500621..dbf31e4 100644 --- a/drivers/usb/dwc2/core_intr.c +++ b/drivers/usb/dwc2/core_intr.c @@ -288,7 +288,8 @@ static void dwc2_handle_conn_id_status_change_intr(struct dwc2_hsotg *hsotg) * scheduling. */ spin_unlock(&hsotg->lock); - queue_work(hsotg->wq_otg, &hsotg->wf_otg); + if (hsotg->wq_otg) + queue_work(hsotg->wq_otg, &hsotg->wf_otg); spin_lock(&hsotg->lock); /* Clear interrupt */ -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html