summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/ums.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2008-03-12 20:20:36 +0000
committerjhb <jhb@FreeBSD.org>2008-03-12 20:20:36 +0000
commitb888c162a39382d7fc22eda8352fb1bf9028d438 (patch)
treea059712bd93de62c92ff4ee81dc0cfca5da2909c /sys/dev/usb/ums.c
parente26ea00cf08638d5e9306a5e742ec21ab5373397 (diff)
downloadFreeBSD-src-b888c162a39382d7fc22eda8352fb1bf9028d438.zip
FreeBSD-src-b888c162a39382d7fc22eda8352fb1bf9028d438.tar.gz
Partially revert 1.95. It changed the probe for a mouse device to only
accept a mouse using the boot subclass. Instead, restore the original hid_is_collection() test and fallback to testing the interface class, subclass, and protocol if that fails. MFC after: 1 week PR: usb/118670
Diffstat (limited to 'sys/dev/usb/ums.c')
-rw-r--r--sys/dev/usb/ums.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/usb/ums.c b/sys/dev/usb/ums.c
index 875539b..73bb120 100644
--- a/sys/dev/usb/ums.c
+++ b/sys/dev/usb/ums.c
@@ -198,7 +198,10 @@ ums_match(device_t self)
if (err)
return (UMATCH_NONE);
- if (id->bInterfaceClass == UICLASS_HID &&
+ if (hid_is_collection(desc, size,
+ HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_MOUSE)))
+ ret = UMATCH_IFACECLASS;
+ else if (id->bInterfaceClass == UICLASS_HID &&
id->bInterfaceSubClass == UISUBCLASS_BOOT &&
id->bInterfaceProtocol == UIPROTO_MOUSE)
ret = UMATCH_IFACECLASS;
OpenPOWER on IntegriCloud