usb: dwc3: gadget: single return point on generic commands

Just like we did for endpoint commands, let's use a
single return point for generic commands as
well. This aids readability.

Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
This commit is contained in:
Felipe Balbi 2016-05-23 14:06:07 +03:00
parent 0933df159c
commit 0fe886cdb0

View File

@ -207,6 +207,7 @@ void dwc3_gadget_giveback(struct dwc3_ep *dep, struct dwc3_request *req,
int dwc3_send_gadget_generic_command(struct dwc3 *dwc, unsigned cmd, u32 param)
{
u32 timeout = 500;
int ret = 0;
u32 reg;
trace_dwc3_gadget_generic_cmd(cmd, param);
@ -221,22 +222,20 @@ int dwc3_send_gadget_generic_command(struct dwc3 *dwc, unsigned cmd, u32 param)
"Command Complete --> %d",
DWC3_DGCMD_STATUS(reg));
if (DWC3_DGCMD_STATUS(reg))
return -EINVAL;
return 0;
ret = -EINVAL;
break;
}
/*
* We can't sleep here, because it's also called from
* interrupt context.
*/
timeout--;
if (!timeout) {
dwc3_trace(trace_dwc3_gadget,
"Command Timed Out");
return -ETIMEDOUT;
}
udelay(1);
} while (1);
} while (timeout--);
if (!timeout) {
dwc3_trace(trace_dwc3_gadget,
"Command Timed Out");
ret = -ETIMEDOUT;
}
return ret;
}
static int __dwc3_gadget_wakeup(struct dwc3 *dwc);