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