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.
init_MUTEX (&dev->sem);
dev->udev = udev;
dev->interface = interface;
- dev->minor = interface->minor;
/* set up the endpoint information */
/* check out the endpoints */
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);
down (&dev->sem);
- /* disable open() */
- interface->minor = -1;
-
minor = dev->minor;
/* give back our minor */