RE: [PATCH 3.12 033/118] usb: xhci: Link TRB must not occur withina USB payload burst [NEW HARDWARE]
From: David Laight
Date: Fri Jan 17 2014 - 09:36:32 EST
From: walt
> Oy, Sarah! ;) I put the ASMedia adapter in my older amd64 machine, and, well,
> the stupid thing Just Works(TM) with kernel 3.12.7! (Yes, with the same disk
> docking station, too.)
>
> I can't believe the adapter works perfectly in a different computer. Have you
> seen this kind of thing before?
Could be a horrid timing race between the cpu and xchi controller.
If the cpu manages to write a NOP or LINK TRB for a following transfer
before the controller polls the next entry (after raising the IRQ)
then the controller might process the LINK and then get confused
when it can't process the linked-to TRB.
This might not sound likely, but PCIe has significant latency.
> At the moment I have two machines using your xhci driver and both work perfectly,
> so I thank you again :)
>
> I'm not sure where to go with this next. I could put the adapter back in the
> other machine again if you have more patches to test.
Can you try the patch I posted that stops the ownership on LINK TRBs
being changed before that on the linked-to TRB?
I got a private mail from someone indicating that my earlier 'minimal'
patch helped an ASMedia controller talking to the asx189_178a ethernet
hardware.
David
èº{.nÇ+·®+%Ëlzwm
ébëæìr¸zX§»®w¥{ayºÊÚë,j¢f£¢·hàz¹®w¥¢¸¢·¦j:+v¨wèjØm¶ÿ¾«êçzZ+ùÝj"ú!¶iOæ¬z·vØ^¶m§ÿðÃnÆàþY&