diff options
author | Felipe Balbi <balbi@ti.com> | 2012-07-19 08:51:13 +0300 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2012-08-03 09:28:24 +0300 |
commit | d9b33c605c398df1d42c694bda28fe8708754c64 (patch) | |
tree | cb695c31b991cebd475c8d9e75cbaa3bdfd87a2b /drivers/usb/dwc3 | |
parent | 35f75696649d43aee8031d81783322b0708805b5 (diff) |
usb: dwc3: ep0: split the special cases on ep0_queue
We can return early from each if () branch
and split the special cases for clarity. While
at that also add a comment to the delayed_status
case.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/dwc3')
-rw-r--r-- | drivers/usb/dwc3/ep0.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c index 962fb9b5465..28bce9be30b 100644 --- a/drivers/usb/dwc3/ep0.c +++ b/drivers/usb/dwc3/ep0.c @@ -155,13 +155,23 @@ static int __dwc3_gadget_ep0_queue(struct dwc3_ep *dep, dep->flags &= ~(DWC3_EP_PENDING_REQUEST | DWC3_EP0_DIR_IN); - } else if (dwc->delayed_status) { + + return 0; + } + + /* + * In case gadget driver asked us to delay the STATUS phase, + * handle it here. + */ + if (dwc->delayed_status) { dwc->delayed_status = false; if (dwc->ep0state == EP0_STATUS_PHASE) __dwc3_ep0_do_control_status(dwc, dwc->eps[1]); else dev_dbg(dwc->dev, "too early for delayed status\n"); + + return 0; } return 0; |