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: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> --- [as1686] drivers/usb/musb/musb_host.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) Index: usb-3.9/drivers/usb/musb/musb_host.c =================================================================== --- usb-3.9.orig/drivers/usb/musb/musb_host.c +++ usb-3.9/drivers/usb/musb/musb_host.c @@ -269,8 +269,7 @@ musb_start_urb(struct musb *musb, int is /* FIXME this doesn't implement that scheduling policy ... * or handle framecounter wrapping */ - if ((urb->transfer_flags & URB_ISO_ASAP) - || (frame >= urb->start_frame)) { + if (1) { /* Always assume URB_ISO_ASAP */ /* REVISIT the SOF irq handler shouldn't duplicate * this code; and we don't init urb->start_frame... */ -- 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