summaryrefslogtreecommitdiffstats
path: root/drivers/usb/core/usb.c
diff options
context:
space:
mode:
authorKai-Heng Feng <kai.heng.feng@canonical.com>2018-03-08 13:37:05 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-03-09 09:57:25 -0800
commitb27560e4d9e5240b5544c9c5650c7442e482646e (patch)
treed7f91e5f7d46fb60eb0e71fc16ea11533a48de0f /drivers/usb/core/usb.c
parentcf6e06cddf29722a4e54b9d66df24c381b231600 (diff)
downloadlinux-b27560e4d9e5240b5544c9c5650c7442e482646e.tar.gz
linux-b27560e4d9e5240b5544c9c5650c7442e482646e.tar.bz2
linux-b27560e4d9e5240b5544c9c5650c7442e482646e.zip
usb: core: Add "quirks" parameter for usbcore
Trying quirks in usbcore needs to rebuild the driver or the entire kernel if it's builtin. It can save a lot of time if usbcore has similar ability like "usbhid.quirks=" and "usb-storage.quirks=". Rename the original quirk detection function to "static" as we introduce this new "dynamic" function. Now users can use "usbcore.quirks=" as short term workaround before the next kernel release. Also, the quirk parameter can XOR the builtin quirks for debugging purpose. This is inspired by usbhid and usb-storage. Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/core/usb.c')
-rw-r--r--drivers/usb/core/usb.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
index 2f5fbc56a9dd..0adb6345ff2e 100644
--- a/drivers/usb/core/usb.c
+++ b/drivers/usb/core/usb.c
@@ -1259,6 +1259,7 @@ static void __exit usb_exit(void)
if (usb_disabled())
return;
+ usb_release_quirk_list();
usb_deregister_device_driver(&usb_generic_driver);
usb_major_cleanup();
usb_deregister(&usbfs_driver);