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 Thu, Jun 24, 2010 at 11:08:58AM -0700, Sarah Sharp wrote:
> 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.

Ah, ok, no problem.

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