aboutsummaryrefslogtreecommitdiffstatshomepage
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
parentMerge branch 'for-6.14/constify-bin-attribute' into for-linus (diff)
parentHID: core: Fix assumption that Resolution Multipliers must be in Logical Collections (diff)
downloadwireguard-linux-e91b496e9c6ea7ee60faed7d76a9bd250c8712ba.tar.xz
wireguard-linux-e91b496e9c6ea7ee60faed7d76a9bd250c8712ba.zip
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);