On Tue, Apr 8, 2008 at 12:03 AM, David Brownell <david-b@xxxxxxxxxxx> wrote: > On Monday 07 April 2008, Felipe Balbi wrote: > > > e) So I hacked the usb-storage driver code, the Linux host on Blackfin > > > will not wait for the 2nc CSW. Then this bug is gone. > > > > > > This is just a workaround for that, it should not be the right way. > > > Does anyone here meet this issue before, on Davinci or OMAP? > > > We always need a real fix, thanks a lot > > > > I've seen this already with n800/n810. It came up after a merge with > > mainline that changed usb subsystem a bit. > > Which merge was that? > > My guess would be that the host side fault reporting > changes (short packet?) didn't get fully reflected in > the MUSB code. > Sorry, I did not fully understand here. I guess it the error return value issue in the 2.6.24 or later kernel. I got a patch for that, but not sure whether it is right -- Index: drivers/usb/musb/musb_host.c =================================================================== --- drivers/usb/musb/musb_host.c (revision 4555) +++ drivers/usb/musb/musb_host.c (working copy) @@ -422,7 +422,11 @@ musb_advance_schedule(struct musb *musb, qh = hw_ep->in_qh; else qh = hw_ep->out_qh; - qh = musb_giveback(qh, urb, 0); + + if (urb->status == -EINPROGRESS) + qh = musb_giveback(qh, urb, 0); + else + qh = musb_giveback(qh, urb, urb->status); if (qh && qh->is_ready && !list_empty(&qh->hep->urb_list)) { DBG(4, "... next ep%d %cX urb %p\n", -- But the original bug is still here, unless we do workaround in the usb-storage code as my patch does. > How is "usbtest" behaving? I'm not sure that would > show errors like this, but at least it'd be good to > know that's not an issue. > I did not use usbtest on MUSB host, but plan to do it in our testing machine. Thanks -Bryan -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html