summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.com>2025-01-20 09:59:16 +0100
committerJiri Kosina <jkosina@suse.com>2025-01-20 09:59:16 +0100
commite91b496e9c6ea7ee60faed7d76a9bd250c8712ba (patch)
tree149f946d84f4c01d45e68f92b5df14ff14efacd7
parent670af65d2ab4a6a9bb72f014b080757e291ad3fe (diff)
parent64f2657b579343cf923aa933f08074e6258eb07b (diff)
Merge branch 'for-6.14/core' into for-linus
- hid-core fix for long-standing cornercase of Resolution Multiplier not being present in any of the Logical Collections in the device HID report descriptor (Alan Stern)
-rw-r--r--drivers/hid/hid-core.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 306eaaf444c2..4497b50799db 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1163,6 +1163,8 @@ static void hid_apply_multiplier(struct hid_device *hid,
while (multiplier_collection->parent_idx != -1 &&
multiplier_collection->type != HID_COLLECTION_LOGICAL)
multiplier_collection = &hid->collection[multiplier_collection->parent_idx];
+ if (multiplier_collection->type != HID_COLLECTION_LOGICAL)
+ multiplier_collection = NULL;
effective_multiplier = hid_calculate_multiplier(hid, multiplier);