usb: usb_generic_probe() obeys authorization

If called and the device is not authorized to be used, then we won't
choose a configuration (as they are not a concept that exists for an
unauthorized device). However, the device is added to the system.

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Inaky Perez-Gonzalez 2007-07-31 20:34:04 -07:00 committed by Greg Kroah-Hartman
parent 72230abb21
commit f8a374648b

View File

@ -161,6 +161,9 @@ static int generic_probe(struct usb_device *udev)
/* Choose and set the configuration. This registers the interfaces
* with the driver core and lets interface drivers bind to them.
*/
if (udev->authorized == 0)
dev_err(&udev->dev, "Device is not authorized for usage\n");
else {
c = choose_configuration(udev);
if (c >= 0) {
err = usb_set_configuration(udev, c);
@ -171,7 +174,7 @@ static int generic_probe(struct usb_device *udev)
* set other configurations. */
}
}
}
/* USB device state == configured ... usable */
usb_notify_add_device(udev);