Re: [patch 2.6.29] usb: ehci-sched.c: EHCI SITD scheduling bugfix (resend)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday 20 April 2009, Dan Streetman wrote:
> So David, Greg, can you use that technical description, and an
> end-user description of:
> 
> If you are having problems with devices or hub ports resetting when
> you start using a USB audio or video (Isochronous) device, this patch
> may help.

Maybe "resetting, or failed Interrupt transfers, when ..." ?

That would be an improvement, yes.  Probably enough to alert
the folks who would need to care.

- Dave


> On Mon, Apr 20, 2009 at 10:52 AM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> > On Mon, 20 Apr 2009, Dan Streetman wrote:
> >
> >> Well, the theoretical problem is that the bug could delay a transfer
> >> long enough that it doesn't finish in time for the TT to transfer the
> >> data back in the last scheduled CSPLIT for the transfer.  I suspect
> >> this would look like, when a user starts using an isoc device like USB
> >> audio or video, another device that was already connected stops
> >> working.  I have not seen this problem myself.
> >>
> >> The failure report from James is that when he starts using a USB audio
> >> device, his mouse gets port reset.  James, did you see any "-110" or
> >> "timeout" errors before the port reset?  I would expect timeout
> >> errors, not a port reset (I think the EHCI driver handles all the
> >> CSPLITs failing as a timeout error, right?).  There may be code that
> >> does a port reset on too many timeout errors to try to recover a
> >> device.
> >
> > Yes, the usbhid driver does that.
> >
> > You can describe the symptom this way:
> >
> > Without this patch, the driver won't check that the last fully-occupied
> > uframe for a new split transaction was vacant beforehand.  This can
> > lead to a situation in which the first 188 bytes of a 192-byte
> > isochronous transfer are scheduled in the same uframe as an existing
> > interrupt transfer.  The resulting schedule looks like this:
> >
> >        uframe 0: 188-byte isoc-OUT SSPLIT, 8-byte int-IN SSPLIT
> >        uframe 1: 4-byte isoc-OUT SSPLIT
> >
> > The SSPLITs are intermingled, causing an error in the downstream hub's
> > TT.
> >
> > Alan Stern
> >
> >
> 
> 


--
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

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux