On Wed, 25 Jun 2003, Johannes Erdfelt wrote:

> I think your analysis is right on target.
> 
> I think your proposed fix is correct, but the implementation will be
> tricky. We store TDs in the URB because the TDs for Interrupt and
> Isochronous URBs don't have a QH. There's no reason we can't use a QH
> for those cases howeever and it might be a good idea to do that so we
> can make the code generic.
> 
> That will require some rework of the code.
> 
> I'll spend some more time thinking about it and see if there is an
> easier way.

Maybe have another list, of urb_priv structures waiting to be destroyed.  
(You could even re-use the complete_list field for this.)  Then have a
subroutine called from uhci_irq() do the equivalent of
uhci_destory_urb_priv() for each urb_priv on the list during the next
interrupt, instead of doing it within uhci_finish_urb().

That should involve many fewer changes.

Alan Stern



-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to