On Mon, Dec 27, 2010 at 03:26:38PM +0300, Sergei Shtylyov wrote:
Hello.
On 23-12-2010 21:30, Sergei Shtylyov wrote:
musb_gadget_dequeue() doesn't start the next request when dequeuing the current
one, but quite obviously it should...
Not quite as obvious as it turns out, as the next endpoint
interrupt should really take care of the next request. So this patch
doesn't seem necessary anymore...
Thanks for sending this note.
@@ -1274,13 +1276,17 @@ static int musb_gadget_dequeue(struct us
status = c->channel_abort(musb_ep->dma);
else
status = -EBUSY;
- if (status == 0)
- musb_g_giveback(musb_ep, request, -ECONNRESET);
- } else {
+ }
+
+ if (status == 0) {
/* NOTE: by sticking to easily tested hardware/driver states,
* we leave counting of in-flight packets imprecise.
*/
musb_g_giveback(musb_ep, request, -ECONNRESET);
What can be done still is merging the two branches as I've done here...
Which is valid but rather a cleanup patch than a real bugfix or
regression fix, so that's also subject to 2.6.39.
--
balbi
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html