]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Input: synaptics-rmi4 - fix F55 transmitter electrode count typo
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 26 Jun 2026 05:17:50 +0000 (22:17 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 5 Aug 2026 04:16:42 +0000 (21:16 -0700)
During F55 sensor detection, the transmitter (TX) electrode count was
incorrectly assigned the value of the receiver (RX) electrode count
due to copy-paste typos.

This incorrect value was then propagated to the driver data and used
by F54 to determine the diagnostics report size. On devices with more
RX than TX electrodes, this inflated the perceived TX count, leading
to incorrect report size calculations and potential out-of-bounds
buffer accesses.

Fix the typos by correctly assigning the TX electrode counts.

Fixes: 6adba43fd222 ("Input: synaptics-rmi4 - add support for F55 sensor tuning")
Fixes: c762cc68b6a1 ("Input: synaptics-rmi4 - propagate correct number of rx and tx electrodes to F54")
Reported-by: sashiko-bot@kernel.org
Cc: stable@vger.kernel.org
Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260626051802.4033172-1-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/rmi4/rmi_f55.c

index 488adaca4dd00482cd1106d813b32871092c83a0..a0877d32a9141faa8a9ff5db6504a0ffa5086ec4 100644 (file)
@@ -54,10 +54,10 @@ static int rmi_f55_detect(struct rmi_function *fn)
        f55->num_tx_electrodes = f55->qry[F55_NUM_TX_OFFSET];
 
        f55->cfg_num_rx_electrodes = f55->num_rx_electrodes;
-       f55->cfg_num_tx_electrodes = f55->num_rx_electrodes;
+       f55->cfg_num_tx_electrodes = f55->num_tx_electrodes;
 
        drv_data->num_rx_electrodes = f55->cfg_num_rx_electrodes;
-       drv_data->num_tx_electrodes = f55->cfg_num_rx_electrodes;
+       drv_data->num_tx_electrodes = f55->cfg_num_tx_electrodes;
 
        if (f55->qry[F55_PHYS_CHAR_OFFSET] & F55_CAP_SENSOR_ASSIGN) {
                int i, total;