Input: sur40 - convert le16 to cpu before use
authorRicardo Ribalda <ribalda@chromium.org>
Mon, 15 Apr 2024 21:53:03 +0000 (14:53 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 15 Apr 2024 23:21:44 +0000 (16:21 -0700)
Smatch found this issue:
drivers/input/touchscreen/sur40.c:424:55: warning: incorrect type in argument 2 (different base types)
drivers/input/touchscreen/sur40.c:424:55:    expected int key
drivers/input/touchscreen/sur40.c:424:55:    got restricted __le16 [usertype] blob_id

Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Link: https://lore.kernel.org/r/20240410-smatch-v1-6-785d009a852b@chromium.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/sur40.c

index 8ddb3f7d307aa484907d175559a1b90d6af8771c..cba6f50151066884c9507bfdc5458f126ef2a702 100644 (file)
@@ -421,7 +421,7 @@ static void sur40_report_blob(struct sur40_blob *blob, struct input_dev *input)
        if (blob->type != SUR40_TOUCH)
                return;
 
-       slotnum = input_mt_get_slot_by_key(input, blob->blob_id);
+       slotnum = input_mt_get_slot_by_key(input, le16_to_cpu(blob->blob_id));
        if (slotnum < 0 || slotnum >= MAX_CONTACTS)
                return;