author | Daniel Glöckner
<dg@emlix.com> 2009-11-17 09:52:56 UTC |
committer | Greg Kroah-Hartman
<gregkh@suse.de> 2009-12-01 00:43:16 UTC |
parent | dfeffa531ccf9c31f2f55df6d7ca86eec92142df |
drivers/usb/musb/musb_gadget_ep0.c | +2 | -1 |
diff --git a/drivers/usb/musb/musb_gadget_ep0.c b/drivers/usb/musb/musb_gadget_ep0.c index 7a6778675ad..522efb31b56 100644 --- a/drivers/usb/musb/musb_gadget_ep0.c +++ b/drivers/usb/musb/musb_gadget_ep0.c @@ -511,7 +511,8 @@ static void ep0_txstate(struct musb *musb) /* update the flags */ if (fifo_count < MUSB_MAX_END0_PACKET - || request->actual == request->length) { + || (request->actual == request->length + && !request->zero)) { musb->ep0_state = MUSB_EP0_STAGE_STATUSOUT; csr |= MUSB_CSR0_P_DATAEND; } else