ChangeSet 1.1371.759.17, 2004/04/23 16:19:43-07:00, [EMAIL PROTECTED]

[PATCH] USB usbfs: destroy submitted urbs only on the disconnected interface

The remaining three patches contain miscellaneous fixes to usbfs.
This one fixes up the disconnect callback to only shoot down urbs
on the disconnected interface, and not on all interfaces.  It also adds
a sanity check (this check is pointless because the interface could
never have been claimed in the first place if it failed, but I feel better
having it there).

 devio.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)


 drivers/usb/core/devio.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)


diff -Nru a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
--- a/drivers/usb/core/devio.c  Fri May 14 15:33:30 2004
+++ b/drivers/usb/core/devio.c  Fri May 14 15:33:30 2004
@@ -341,6 +341,7 @@
 static void driver_disconnect(struct usb_interface *intf)
 {
        struct dev_state *ps = usb_get_intfdata (intf);
+       unsigned int ifnum = intf->altsetting->desc.bInterfaceNumber;
 
        if (!ps)
                return;
@@ -349,11 +350,12 @@
         * all pending I/O requests; 2.6 does that.
         */
 
-       clear_bit(intf->cur_altsetting->desc.bInterfaceNumber, &ps->ifclaimed);
+       if (ifnum < 8*sizeof(ps->ifclaimed))
+               clear_bit(ifnum, &ps->ifclaimed);
        usb_set_intfdata (intf, NULL);
 
        /* force async requests to complete */
-       destroy_all_async (ps);
+       destroy_async_on_interface(ps, ifnum);
 }
 
 struct usb_driver usbdevfs_driver = {



-------------------------------------------------------
This SF.Net email is sponsored by: SourceForge.net Broadband
Sign-up now for SourceForge Broadband and get the fastest
6.0/768 connection for only $19.95/mo for the first 3 months!
http://ads.osdn.com/?ad_id%62&alloc_ida84&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to