Re: Help needed for EHCI problem: removing an active bulk-in QH

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

 



On Thu, Oct 29, 2015 at 10:37:28AM -0400, Alan Stern wrote:

>

After reading spec at 4.8.2:

Software must not remove an active queue head from the schedule.
Software should first deactivate all active qTDs, wait for the
queue head to go inactive, then remove the queue head from the
asynchronous list.

But current software removes an active queue head first, then
deactivates qTDs for the unlinked queue head. What's possible
harm if we deactivates qTDs first, then unlink the queue head
directly without waiting.

> [In practice it's not feasible to wait for an active QH to become
> inactive before removing it, for several reasons.  For one, the QH may
> _never_ become inactive (if the endpoint NAKs indefinitely). 

Yes, 

> For
> another, the procedure given in the spec (deactivate the qTDs on the
> queue) is racy, since the controller can perform a new overlay or
> writeback at any time.]
> 

But that queue head will be unlinked soon, software (or controller) will
not use a new overlay or a new writeback, isn't it?

-- 

Best Regards,
Peter Chen
--
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