The check of interface->dev.driver requires a lock to be taken
to protect against driver binding changes.  But in fact I think it
is better just to drop the test.  The result is that the caller is
required to claim an interface before changing the altsetting,
which is consistent with the other routines that operate on
interfaces.

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


diff -Nru a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
--- a/drivers/usb/core/devio.c  Wed Apr 14 12:18:37 2004
+++ b/drivers/usb/core/devio.c  Wed Apr 14 12:18:37 2004
@@ -747,10 +747,8 @@
        if ((ret = findintfif(ps->dev, setintf.interface)) < 0)
                return ret;
        interface = ps->dev->actconfig->interface[ret];
-       if (interface->dev.driver) {
-               if ((ret = checkintf(ps, ret)))
-                       return ret;
-       }
+       if ((ret = checkintf(ps, ret)))
+               return ret;
        if (usb_set_interface(ps->dev, setintf.interface, setintf.altsetting))
                return -EINVAL;
        return 0;


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&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