On Tue, Apr 8, 2008 at 12:03 AM, David Brownell <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html