diff --git a/[refs] b/[refs] index fff7d5e596cb..8e7953d21baa 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c90bfaece97c18d1ad66b9d4c717b1cb55a647ad +refs/heads/master: 68d3e668d245bb8300c7c6ddbc8508ddfe352e0f diff --git a/trunk/drivers/usb/dwc3/ep0.c b/trunk/drivers/usb/dwc3/ep0.c index d6bfc73dedbd..2f51de57593a 100644 --- a/trunk/drivers/usb/dwc3/ep0.c +++ b/trunk/drivers/usb/dwc3/ep0.c @@ -165,10 +165,13 @@ static int __dwc3_gadget_ep0_queue(struct dwc3_ep *dep, req->request.dma, req->request.length, type); dep->flags &= ~(DWC3_EP_PENDING_REQUEST | DWC3_EP0_DIR_IN); - - } else if (dwc->delayed_status && (dwc->ep0state == EP0_STATUS_PHASE)) { + } else if (dwc->delayed_status) { dwc->delayed_status = false; - dwc3_ep0_do_control_status(dwc, 1); + + if (dwc->ep0state == EP0_STATUS_PHASE) + dwc3_ep0_do_control_status(dwc, 1); + else + dev_dbg(dwc->dev, "too early for delayed status\n"); } return ret;