Hello, David!
Thank you for your patch!
Unfortunately, the patch consists of changes that are needed, changes
that are not needed and changes that should not be committed.
Elimination of URB_ASYNC_UNLINK could be done separately, possibly with
other compatibility leftovers.
Defining EZUSB_FW_INCLUDED is irrelevant and wrong. With hotplug being
widely deployed, changing to embedding firmware by default cannot be
justified.
I haven't tested the change in ezusb_request_in_callback() after
"unexpected context state". That would be hard to reproduce, and if I
do and the driver crashes, I don't think I'll be able to blame you :-)
The change in ezusb_remove_in_urb() is the one that makes the card work.
The change in ezusb_delete() seems to be purely cosmetic. I think it
may not even have any effect on the assembly code with a good compiler.
I see that you left some instances of usb_unlink_urb() but replaced
others. What was the reason?
I think the right criteria would be to replace usb_unlink_urb() with
usb_kill_urb() when it's not preceded by setting URB_ASYNC_UNLINK. The
only replacement in this case would be in ezusb_remove_in_urb().
I'm committing this one-line patch. If you want other parts of your
patch applied, please describe them properly.
I'm going to do some serious cleanup in orinoco_usb right now, so please
track current CVS.
--
Regards,
Pavel Roskin
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc. Get Certified Today
Register for a JBoss Training Course. Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
|