Commit 8a1ea51f authored by Alan Stern's avatar Alan Stern Committed by Greg Kroah-Hartman

USB: MUSB: upgrade the isochronous API

This patch attempts to fix the isochonour API in the musb host
driver.  In particular, the urb->start_frame field should always be
set by the driver; it isn't an input parameter.

The simplest way to accomplish this is to treat all URBs as though the
URB_ISO_ASAP flag was set.  This won't give the right behavior when an
underrun occurs, but I don't know enough about the musb driver to
handle that case.

Unfortunately, I have no way to test this change.
Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e6b0166f
...@@ -269,8 +269,7 @@ musb_start_urb(struct musb *musb, int is_in, struct musb_qh *qh) ...@@ -269,8 +269,7 @@ musb_start_urb(struct musb *musb, int is_in, struct musb_qh *qh)
/* FIXME this doesn't implement that scheduling policy ... /* FIXME this doesn't implement that scheduling policy ...
* or handle framecounter wrapping * or handle framecounter wrapping
*/ */
if ((urb->transfer_flags & URB_ISO_ASAP) if (1) { /* Always assume URB_ISO_ASAP */
|| (frame >= urb->start_frame)) {
/* REVISIT the SOF irq handler shouldn't duplicate /* REVISIT the SOF irq handler shouldn't duplicate
* this code; and we don't init urb->start_frame... * this code; and we don't init urb->start_frame...
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment