diff options
author | jhb <jhb@FreeBSD.org> | 2008-03-12 20:20:36 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2008-03-12 20:20:36 +0000 |
commit | b888c162a39382d7fc22eda8352fb1bf9028d438 (patch) | |
tree | a059712bd93de62c92ff4ee81dc0cfca5da2909c /sys/dev/usb/ums.c | |
parent | e26ea00cf08638d5e9306a5e742ec21ab5373397 (diff) | |
download | FreeBSD-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.c | 5 |
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; |