Re: [PATCH] xHCI: AMD isoc link TRB chain bit quirk

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

 



On Wed, Sep 21, 2011 at 08:39:44PM +0800, Andiry Xu wrote:
> On Tue, 2011-09-20 at 23:56 -0700, Sarah Sharp wrote:
> > On Wed, Sep 21, 2011 at 11:16:11AM +0800, Andiry Xu wrote:
> > > Setting the chain (CH) bit in the link TRB of isochronous transfer rings
> > > is required by AMD 0.96 xHCI host controller to successfully transverse
> > > multi-TRB TD that span through different memory segments.
> > 
> > Hi Andiry,
> > 
> > What are the results if a link TRB doesn't have the chain bit set on
> > this host controller?  Anything like crashing the machine, or do
> > isochronous transfers just not work?  I'm trying to figure out if this
> > patch needs to be queued for stable, and if so, does it need to go back
> > to 2.6.36 when the first isochronous support went in?
> > 
> 
> When a Missed Service Error event occurs, if the chain bit is not set in
> the link TRB and the host skips TDs which just across a link TRB, the
> host may falsely recognize the link TRB as a normal TRB. You can see
> this may cause big trouble - the host does not jump to the right address
> which is pointed by the link TRB, but continue fetching the memory which
> is after the link TRB address, which may not even belong to the host,
> and the result cannot be predicted.

Ugh, sounds nasty.

> This causes some big problems. Without the former patch I sent: "xHCI:
> prevent infinite loop when processing MSE event", the system may hang.
> With that patch applied, system does not hang, but the host still access
> wrong memory address and isoc transfer will fail. With this patch,
> isochronous transfer works as expected.

Ok.  I forgot to mark your infinite loop patch for stable, but now that
it's in Linus' tree I should be able to send the patch off to
stable@xxxxxxxxxx.  I'll mark this patch for stable as well.

> This patch should go to stable if possible, but I'm not sure if it can
> apply directly on 2.6.36.

The stable maintainers will let us know if it doesn't apply, and you
might have to make a patch for those kernels that it doesn't apply to.

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