forked from Minki/linux
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:
parent
0933df159c
commit
0fe886cdb0
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user