Re: [PATCH] xhci: Set EP0 dequeue ptr after reset of configured device.

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

 



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?

thanks,

greg k-h
--
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