aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/usb/input/uhid.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/usb/input/uhid.c b/sys/dev/usb/input/uhid.c
index bd5af206f0ac..333d43747833 100644
--- a/sys/dev/usb/input/uhid.c
+++ b/sys/dev/usb/input/uhid.c
@@ -691,10 +691,11 @@ uhid_probe(device_t dev)
*/
if ((uaa->info.bInterfaceClass == UICLASS_HID) &&
(uaa->info.bInterfaceSubClass == UISUBCLASS_BOOT) &&
- ((uaa->info.bInterfaceProtocol == UIPROTO_BOOT_KEYBOARD) ||
- (uaa->info.bInterfaceProtocol == UIPROTO_MOUSE))) {
+ (((uaa->info.bInterfaceProtocol == UIPROTO_BOOT_KEYBOARD) &&
+ !usb_test_quirk(uaa, UQ_KBD_IGNORE)) ||
+ ((uaa->info.bInterfaceProtocol == UIPROTO_MOUSE) &&
+ !usb_test_quirk(uaa, UQ_UMS_IGNORE))))
return (ENXIO);
- }
return (BUS_PROBE_GENERIC);
}