Sorry if this is already reported.
msm72k_dequeue() is not resetting ep->last when ep->req = 0.
All transfers after that will fail because usb_ept_queue_xfer() can't
set ep->req correctly.
This patch fixes it.
Toshi
diff --git a/drivers/usb/gadget/msm72k_udc.c b/drivers/usb/gadget/msm72k_udc.c
index 78397b3..73c5d90 100644
--- a/drivers/usb/gadget/msm72k_udc.c
+++ b/drivers/usb/gadget/msm72k_udc.c
@@ -1568,8 +1568,11 @@ static int msm72k_dequeue(struct usb_ep *_ep, struct usb_
/* remove from linked list */
if (prev)
prev->next = cur->next;
- else
+ else {
ep->req = cur->next;
+ if (ep->req == 0)
+ ep->last = 0;
+ }
prev = cur;
/* break from loop */
cur = NULL;
--
unsubscribe: [email protected]
website: http://groups.google.com/group/android-kernel
To unsubscribe from this group, send email to
android-kernel+unsubscribegooglegroups.com or reply to this email with the
words "REMOVE ME" as the subject.