Module Name: src
Committed By: nat
Date: Tue Oct 17 02:46:57 UTC 2023
Modified Files:
src/sys/dev/hid: hid.c
Log Message:
Improve hid matching.
It now matches all kinds (application/physical/logical) in the hid
collection.
Patch from PR applied.
Addresses PR/46868.
Ok skrll@
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/hid/hid.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/hid/hid.c
diff -u src/sys/dev/hid/hid.c:1.5 src/sys/dev/hid/hid.c:1.6
--- src/sys/dev/hid/hid.c:1.5 Sun Mar 13 11:35:47 2022
+++ src/sys/dev/hid/hid.c Tue Oct 17 02:46:57 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: hid.c,v 1.5 2022/03/13 11:35:47 riastradh Exp $ */
+/* $NetBSD: hid.c,v 1.6 2023/10/17 02:46:57 nat Exp $ */
/* $FreeBSD: src/sys/dev/usb/hid.c,v 1.11 1999/11/17 22:33:39 n_hibma Exp $ */
/*
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hid.c,v 1.5 2022/03/13 11:35:47 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hid.c,v 1.6 2023/10/17 02:46:57 nat Exp $");
#ifdef _KERNEL_OPT
#include "opt_usb.h"
@@ -519,13 +519,15 @@ hid_is_collection(const void *desc, int
hi.kind, hi.report_ID, hi.usage, coll_usage));
if (hi.kind == hid_collection &&
- hi.collection == HCOLL_APPLICATION)
+ (hi.collection == HCOLL_APPLICATION ||
+ hi.collection == HCOLL_PHYSICAL ||
+ hi.collection == HCOLL_LOGICAL))
coll_usage = hi.usage;
if (hi.kind == hid_endcollection)
coll_usage = ~0;
- if (hi.kind == hid_input &&
+ if (hi.kind == hid_collection &&
coll_usage == usage &&
hi.report_ID == id) {
DPRINTFN(2,("hid_is_collection: found\n"));