Hello,

I've found minor errors in usb-skeleton.c. First, there is no valid
value of interface->minor in assignment to dev->minor. Second, when
calling usb_deregister_dev the interface->minor must be valid or else
minor isn't deregistered.

Michal Sojka

diff -ur linux-2.6.0-test2/drivers/usb/usb-skeleton.c 
edited-2.6.0-test2/drivers/usb/usb-skeleton.c
--- linux-2.6.0-test2/drivers/usb/usb-skeleton.c        2003-08-06 11:23:13.936918128 
+0200
+++ edited-2.6.0-test2/drivers/usb/usb-skeleton.c       2003-08-06 11:20:34.000000000 
+0200
@@ -526,7 +526,6 @@
        init_MUTEX (&dev->sem);
        dev->udev = udev;
        dev->interface = interface;
-       dev->minor = interface->minor;
 
        /* set up the endpoint information */
        /* check out the endpoints */
@@ -606,6 +605,7 @@
                goto error;
        }
 
+       dev->minor = interface->minor;
 
        /* let the user know what node this device is now attached to */
        info ("USB Skeleton device now attached to USBSkel-%d", dev->minor);
@@ -641,9 +641,6 @@
 
        down (&dev->sem);
 
-       /* disable open() */
-       interface->minor = -1;
-
        minor = dev->minor;
 
        /* give back our minor */

Reply via email to