Commit adea84ee6cde for kernel

commit adea84ee6cdea611146c4251d3c1616f5a09feca
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Fri Jul 3 23:01:12 2026 -0700

    Input: mms114 - fix multi-touch slot corruption

    If the touchscreen controller reports a touch ID of 0, the driver
    calculates the slot ID as touch->id - 1, which underflows to UINT_MAX.
    This is passed to input_mt_slot() as -1.

    Since the input core ignores negative slot values, the active slot remains
    unchanged. The driver then reports the touch coordinates for the previously
    active slot, corrupting its state.

    Fix this by rejecting touch reports with ID 0.

    Fixes: 07b8481d4aff ("Input: add MELFAS mms114 touchscreen driver")
    Cc: stable@vger.kernel.org
    Reported-by: sashiko-bot@kernel.org
    Assisted-by: Antigravity:gemini-3.5-flash
    Link: https://patch.msgid.link/20260704060115.353049-1-dmitry.torokhov@gmail.com
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

diff --git a/drivers/input/touchscreen/mms114.c b/drivers/input/touchscreen/mms114.c
index 53ad35d61d47..5cef97246a15 100644
--- a/drivers/input/touchscreen/mms114.c
+++ b/drivers/input/touchscreen/mms114.c
@@ -165,7 +165,7 @@ static void mms114_process_mt(struct mms114_data *data, struct mms114_touch *tou
 	unsigned int x;
 	unsigned int y;

-	if (touch->id > MMS114_MAX_TOUCH) {
+	if (touch->id == 0 || touch->id > MMS114_MAX_TOUCH) {
 		dev_err(&client->dev, "Wrong touch id (%d)\n", touch->id);
 		return;
 	}