On Fri, 30 Mar 2007, Greg KH wrote:
> I think it really comes down to the problem of checking the urb status
> flag.
>
> I _REALLY_ want to get rid of that field and not have drivers us it at
> all. I would like to pass the value of the status flag to the urb
> callback directly, and only have the status field be used by the host
> controllers.
>
> The last time I looked into implementing this, I think the UHCI driver
> had some 'issues' with how it would work, or maybe it was EHCI, sorry it
> was a few years ago.
One simple possibility is this: Change the kerneldoc to explain that
urb->status is private. Maybe also rename it to urb->private_status, to
avoid possible misuses. Then change the giveback_urb routine pass
urb->private_status as an argument, and change all the completion handlers
to accept it.
Tedious yes, but it shouldn't break anything.
Alternatively: Define a new private_status field, to be used by usbcore
and the HCDs. Then do
urb->status = urb->private_status;
just before passing urb to its completion handler. This is a little less
robust and less elegant than the first approach.
Alan Stern
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel