From 2dd9dbfaf91da2a6513ea37fabdcd600d3b1dfd6 Mon Sep 17 00:00:00 2001 From: Felipe Balbi Date: Thu, 8 Dec 2011 13:56:27 +0200 Subject: [PATCH] --- yaml --- r: 280841 b: refs/heads/master c: 68d3e668d245bb8300c7c6ddbc8508ddfe352e0f h: refs/heads/master i: 280839: c6fe7f6810dc3fc8d37ca5e872b92ffd296d2772 v: v3 --- [refs] | 2 +- trunk/drivers/usb/dwc3/ep0.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) 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;