android_kernel_xiaomi_sm8350/drivers/usb/core
Inaky Perez-Gonzalez 93993a0a3e usb: introduce usb_authorize/deauthorize()
These USB API functions will do the full authorization/deauthorization
to be used for a device. When authorized we effectively allow a
configuration to be set. Reverse that when deauthorized.

Effectively this means that we have to clean all the configuration
descriptors on deauthorize and reload them when we authorized. We could
do without throwing them out for wired devices, but for wireless, we can
read them only after authenticating, and thus, when authorizing an
authenticated device we would need to read them. So to simplify, always
release them on deauthorize(), re-read them on authorize().

Also fix leak reported by Ragner Magalhaes; in usb_deauthorize_device(),
bNumConfigurations was being set to zero before the for loop, and thus
the different raw descriptors where never being freed.

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-10-12 14:55:07 -07:00
..
buffer.c USB: a bit more coding style cleanup 2007-02-07 15:44:40 -08:00
config.c usb: usb_get_configuration() obeys authorization 2007-10-12 14:55:06 -07:00
devices.c USB: add IAD support to usbfs and sysfs 2007-07-12 16:34:40 -07:00
devio.c USB: avoid urb->pipe in usbfs 2007-10-12 14:55:01 -07:00
driver.c usb: usb_probe_interface() obeys authorization 2007-10-12 14:55:07 -07:00
endpoint.c USB: In init_endpoint_class, use PTR_ERR to obtain an errno value, not IS_ERR 2007-02-16 15:32:17 -08:00
file.c USB: prevent char device open/deregister race 2007-07-12 16:29:48 -07:00
generic.c usb: introduce usb_authorize/deauthorize() 2007-10-12 14:55:07 -07:00
hcd-pci.c USB: remove references to dev.power.power_state 2007-07-12 16:29:46 -07:00
hcd.c usb: cleanup usb_register_bus() and hook up sysfs group 2007-10-12 14:55:04 -07:00
hcd.h usb: add the concept of default authorization to USB hosts 2007-10-12 14:55:04 -07:00
hub.c usb: introduce usb_authorize/deauthorize() 2007-10-12 14:55:07 -07:00
hub.h
inode.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
Kconfig USB: add power/persist device attribute 2007-07-12 16:34:30 -07:00
Makefile USB: add a blacklist for devices that can't handle some things we throw at them. 2007-02-23 15:03:46 -08:00
message.c usb: usb_set_configuration() obeys authorization 2007-10-12 14:55:06 -07:00
notify.c
otg_whitelist.h USB: Fix apparent typo CONFIG_USB_CDCETHER. 2007-02-16 15:32:18 -08:00
quirks.c USB: disable autosuspend by default for non-hubs 2007-09-13 05:49:04 -07:00
sysfs.c USB: add "descriptors" binary sysfs attribute 2007-07-19 17:46:04 -07:00
urb.c USB: cleanup for previous patches 2007-10-12 14:55:01 -07:00
usb.c usb: initialize authorization and wusb bits in USB devices 2007-10-12 14:55:05 -07:00
usb.h usb: introduce usb_authorize/deauthorize() 2007-10-12 14:55:07 -07:00