Commit f8a37464 authored by Inaky Perez-Gonzalez's avatar Inaky Perez-Gonzalez Committed by Greg Kroah-Hartman

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: default avatarInaky Perez-Gonzalez <inaky@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 72230abb
...@@ -161,17 +161,20 @@ static int generic_probe(struct usb_device *udev) ...@@ -161,17 +161,20 @@ static int generic_probe(struct usb_device *udev)
/* Choose and set the configuration. This registers the interfaces /* Choose and set the configuration. This registers the interfaces
* with the driver core and lets interface drivers bind to them. * with the driver core and lets interface drivers bind to them.
*/ */
c = choose_configuration(udev); if (udev->authorized == 0)
if (c >= 0) { dev_err(&udev->dev, "Device is not authorized for usage\n");
err = usb_set_configuration(udev, c); else {
if (err) { c = choose_configuration(udev);
dev_err(&udev->dev, "can't set config #%d, error %d\n", if (c >= 0) {
err = usb_set_configuration(udev, c);
if (err) {
dev_err(&udev->dev, "can't set config #%d, error %d\n",
c, err); c, err);
/* This need not be fatal. The user can try to /* This need not be fatal. The user can try to
* set other configurations. */ * set other configurations. */
}
} }
} }
/* USB device state == configured ... usable */ /* USB device state == configured ... usable */
usb_notify_add_device(udev); usb_notify_add_device(udev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment