diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index e00cdd313dc2741580202a4e4c092b5469587ee2..372d48326b1d838ec0ed27fa8ea8f6f54afb3e4f 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -4421,7 +4421,9 @@ calculation); m = USB_QUIRK_DISCONNECT_SUSPEND (Device needs to be disconnected before suspend to - prevent spurious wakeup) + prevent spurious wakeup); + n = USB_QUIRK_DELAY_CTRL_MSG (Device needs a + pause after every control message); Example: quirks=0781:5580:bk,0a5c:5834:gij usbhid.mousepoll= diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c index 29e5f32b38df6b2f1e3969523ddb7160e2014f66..920f48a49a87021a513b4e395a903044a558abf5 100644 --- a/drivers/usb/core/quirks.c +++ b/drivers/usb/core/quirks.c @@ -124,6 +124,9 @@ static int quirks_param_set(const char *val, const struct kernel_param *kp) case 'm': flags |= USB_QUIRK_DISCONNECT_SUSPEND; break; + case 'n': + flags |= USB_QUIRK_DELAY_CTRL_MSG; + break; /* Ignore unrecognized flag characters */ } }