]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Input: rmi4 - fix bit count in bitmap_copy()
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 5 May 2026 04:59:37 +0000 (21:59 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 12 Jun 2026 05:39:28 +0000 (22:39 -0700)
bitmap_copy() takes number of bits, not bytes (or longs). Correct
the bit count in rmi_driver_set_irq_bits() and
rmi_driver_clear_irq_bits().

Fixes: 2b6a321da9a2 ("Input: synaptics-rmi4 - add support for Synaptics RMI4 devices")
Cc: stable@vger.kernel.org
Assisted-by: Gemini:gemini-3.1-pro
Link: https://patch.msgid.link/20260505045952.1570713-7-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/rmi4/rmi_driver.c

index 5eda11bcb59c4f2c0deee279abf3dfff4e9048f4..e77fa460fbd19a51793d409e88553be4aa1c4d32 100644 (file)
@@ -388,9 +388,8 @@ static int rmi_driver_set_irq_bits(struct rmi_device *rmi_dev,
                                                        __func__);
                goto error_unlock;
        }
-       bitmap_copy(data->current_irq_mask, data->new_irq_mask,
-                   data->num_of_irq_regs);
 
+       bitmap_copy(data->current_irq_mask, data->new_irq_mask, data->irq_count);
        bitmap_or(data->fn_irq_bits, data->fn_irq_bits, mask, data->irq_count);
 
 error_unlock:
@@ -419,8 +418,8 @@ static int rmi_driver_clear_irq_bits(struct rmi_device *rmi_dev,
                                                        __func__);
                goto error_unlock;
        }
-       bitmap_copy(data->current_irq_mask, data->new_irq_mask,
-                   data->num_of_irq_regs);
+
+       bitmap_copy(data->current_irq_mask, data->new_irq_mask, data->irq_count);
 
 error_unlock:
        mutex_unlock(&data->irq_mutex);