diff options
author | Neil Zhang <zhangwm@marvell.com> | 2011-10-12 04:49:34 -0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2011-10-13 13:42:05 -0400 |
commit | 366162245e619d59c9d615774ab3aa639deb7725 (patch) | |
tree | 536c1514056b8be2ba51d6141aabd7ee8b40b034 /drivers/usb/gadget | |
parent | 0c70840b22d9f3b762f21a28bface1a42c0c5ba2 (diff) |
usb: gadget: mv_udc: correct ep0 state
This patch is going to correct the ep0 state, and the unexpected
ep0 package warning can be removed.
Signed-off-by: Neil Zhang <zhangwm@marvell.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r-- | drivers/usb/gadget/mv_udc_core.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/usb/gadget/mv_udc_core.c b/drivers/usb/gadget/mv_udc_core.c index 843a479fa25c..f8dc5b3dd796 100644 --- a/drivers/usb/gadget/mv_udc_core.c +++ b/drivers/usb/gadget/mv_udc_core.c | |||
@@ -1343,6 +1343,7 @@ udc_prime_status(struct mv_udc *udc, u8 direction, u16 status, bool empty) | |||
1343 | 1343 | ||
1344 | ep = &udc->eps[0]; | 1344 | ep = &udc->eps[0]; |
1345 | udc->ep0_dir = direction; | 1345 | udc->ep0_dir = direction; |
1346 | udc->ep0_state = WAIT_FOR_OUT_STATUS; | ||
1346 | 1347 | ||
1347 | req = udc->status_req; | 1348 | req = udc->status_req; |
1348 | 1349 | ||
@@ -1421,6 +1422,8 @@ static void ch9getstatus(struct mv_udc *udc, u8 ep_num, | |||
1421 | retval = udc_prime_status(udc, EP_DIR_IN, status, false); | 1422 | retval = udc_prime_status(udc, EP_DIR_IN, status, false); |
1422 | if (retval) | 1423 | if (retval) |
1423 | ep0_stall(udc); | 1424 | ep0_stall(udc); |
1425 | else | ||
1426 | udc->ep0_state = DATA_STATE_XMIT; | ||
1424 | } | 1427 | } |
1425 | 1428 | ||
1426 | static void ch9clearfeature(struct mv_udc *udc, struct usb_ctrlrequest *setup) | 1429 | static void ch9clearfeature(struct mv_udc *udc, struct usb_ctrlrequest *setup) |
@@ -1466,8 +1469,6 @@ static void ch9clearfeature(struct mv_udc *udc, struct usb_ctrlrequest *setup) | |||
1466 | 1469 | ||
1467 | if (udc_prime_status(udc, EP_DIR_IN, 0, true)) | 1470 | if (udc_prime_status(udc, EP_DIR_IN, 0, true)) |
1468 | ep0_stall(udc); | 1471 | ep0_stall(udc); |
1469 | else | ||
1470 | udc->ep0_state = DATA_STATE_XMIT; | ||
1471 | out: | 1472 | out: |
1472 | return; | 1473 | return; |
1473 | } | 1474 | } |