On Wed, Jun 23, 2010 at 09:31:23PM -0700, Greg KH wrote: > On Wed, Jun 23, 2010 at 04:21:03PM -0700, Sarah Sharp wrote: > > When a configured device is reset, the control endpoint's ring is reused. > > If control transfers to the device were issued before the device is reset, > > the dequeue pointer will be somewhere in the middle of the ring. If the > > device is then issued an address with the set address command, the xHCI > > driver must provide a valid input context for control endpoint zero. > > > > The original code would give the hardware the original input context, > > which had a dequeue pointer set to the top of the ring. This would cause > > the host to re-execute any control transfers until it reached the ring's > > enqueue pointer. When issuing a set address command for a device that has > > just been configured and then reset, use the control endpoint's enqueue > > pointer as the hardware's dequeue pointer. > > > > Assumption: All control transfers will be completed or cancelled before > > the set address command is issued to the device. If there are any > > outstanding control transfers, this code will not work. > > > > Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> > > --- > > > > Fajun, > > > > Would you try this patch? It should get rid of the warnings about > > "ERROR Transfer event TRB DMA ptr not part of current TD". I don't > > think it will fix your oops though. The oops is in the usb_storage > > driver, so you should retry with this patch and then email them. > > Is this a patch you wish me to queue up as well? No, it's still under development. Fajun said it crashed his machine on the second test run. Sorry for not adding RFC instead of PATCH. 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