diff options
author | eadler <eadler@FreeBSD.org> | 2012-10-22 03:00:25 +0000 |
---|---|---|
committer | eadler <eadler@FreeBSD.org> | 2012-10-22 03:00:25 +0000 |
commit | 4acd2b3e06da83dd8af23c49beb06a38077f7c4f (patch) | |
tree | 386a2ab07c02bbda42e77a975dc8d07544d60052 | |
parent | 1c15f4c7a56749d7e6364c203aa6cdc5eb829478 (diff) | |
download | FreeBSD-src-4acd2b3e06da83dd8af23c49beb06a38077f7c4f.zip FreeBSD-src-4acd2b3e06da83dd8af23c49beb06a38077f7c4f.tar.gz |
Make uhid attach to devices that look like keyboards
or mice if the quirk which prevents higher level
drivers from attaching is set.
PR: usb/172458
Submitted by: Vitaly Magerya <vmagerya@gmail.com>
Reviewed by: hselasky
Approved by: cperciva
MFC after: 1 week
-rw-r--r-- | sys/dev/usb/input/uhid.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/usb/input/uhid.c b/sys/dev/usb/input/uhid.c index bd5af20..333d437 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); } |