On 01/12/2012 05:50 AM, Sarah Sharp wrote: > On Tue, Dec 20, 2011 at 02:10:04PM -0800, Sarah Sharp wrote: >> On Tue, Dec 20, 2011 at 04:01:32PM +0800, Andiry Xu wrote: >>> There is some code related to Set TRDP command completion, in patch 3 >>> "count free TRBs on transfer ring", when process a set TRDP event, >>> driver will update num_trbs_free by walking over the ring when update >>> dequeue pointer. Can you check the code to see if that's right? > > Hi Andiry, > > I haven't had time to test your patchset closely, but I think it is the > Set TR dequeue pointer code that's bad. I was able to trigger a > hard-hang when I plugged in a new USB 3.0 card reader that I got for > Christmas. The card reader was empty, and it stalled one of the first > SCSI commands that came to it. When handling the Set TR dequeue pointer > event, the machine hung. So you don't have to trigger the ring > expansion at all to trigger the bug. > > I don't have time to look at your code this week, but maybe you could > re-look at the TRB counting code and test with a USB storage device that > stalls SCSI commands? > Sarah, Thanks for the information! I'll check it. Thanks, Andiry -- 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