usb: dwc3: drop EP0_STALL state
Whenever we issue a Set Stall command on EP0, the state machine will be restarted and Stall is cleared automatically, when core receives the next SETUP packet. There's no need to track that EP0_STALL state. Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
76cb323f80
commit
0b7836a9eb
3 changed files with 8 additions and 5 deletions
|
@ -375,7 +375,6 @@ enum dwc3_ep0_state {
|
||||||
EP0_SETUP_PHASE,
|
EP0_SETUP_PHASE,
|
||||||
EP0_DATA_PHASE,
|
EP0_DATA_PHASE,
|
||||||
EP0_STATUS_PHASE,
|
EP0_STATUS_PHASE,
|
||||||
EP0_STALL,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum dwc3_link_state {
|
enum dwc3_link_state {
|
||||||
|
|
|
@ -68,8 +68,6 @@ static const char *dwc3_ep0_state_string(enum dwc3_ep0_state state)
|
||||||
return "Data Phase";
|
return "Data Phase";
|
||||||
case EP0_STATUS_PHASE:
|
case EP0_STATUS_PHASE:
|
||||||
return "Status Phase";
|
return "Status Phase";
|
||||||
case EP0_STALL:
|
|
||||||
return "Stall";
|
|
||||||
default:
|
default:
|
||||||
return "UNKNOWN";
|
return "UNKNOWN";
|
||||||
}
|
}
|
||||||
|
|
|
@ -872,8 +872,14 @@ int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value)
|
||||||
memset(¶ms, 0x00, sizeof(params));
|
memset(¶ms, 0x00, sizeof(params));
|
||||||
|
|
||||||
if (value) {
|
if (value) {
|
||||||
if (dep->number == 0 || dep->number == 1)
|
if (dep->number == 0 || dep->number == 1) {
|
||||||
dwc->ep0state = EP0_STALL;
|
/*
|
||||||
|
* Whenever EP0 is stalled, we will restart
|
||||||
|
* the state machine, thus moving back to
|
||||||
|
* Setup Phase
|
||||||
|
*/
|
||||||
|
dwc->ep0state = EP0_SETUP_PHASE;
|
||||||
|
}
|
||||||
|
|
||||||
ret = dwc3_send_gadget_ep_cmd(dwc, dep->number,
|
ret = dwc3_send_gadget_ep_cmd(dwc, dep->number,
|
||||||
DWC3_DEPCMD_SETSTALL, ¶ms);
|
DWC3_DEPCMD_SETSTALL, ¶ms);
|
||||||
|
|
Loading…
Add table
Reference in a new issue