aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget
diff options
context:
space:
mode:
authorNeil Zhang <zhangwm@marvell.com>2011-10-12 04:49:34 -0400
committerFelipe Balbi <balbi@ti.com>2011-10-13 13:42:05 -0400
commit366162245e619d59c9d615774ab3aa639deb7725 (patch)
tree536c1514056b8be2ba51d6141aabd7ee8b40b034 /drivers/usb/gadget
parent0c70840b22d9f3b762f21a28bface1a42c0c5ba2 (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.c5
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
1426static void ch9clearfeature(struct mv_udc *udc, struct usb_ctrlrequest *setup) 1429static 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;
1471out: 1472out:
1472 return; 1473 return;
1473} 1474}