Messages in this thread Patch in this message | | | From | Benjamin Bara <> | Date | Thu, 27 Jul 2023 17:19:57 +0200 | Subject | [PATCH] Input: ads7846 - don't set ABS_PRESSURE when min == max |
| |
From: Benjamin Bara <benjamin.bara@skidata.com>
When the optional fields "pressure_min" and "pressure_max" are not set, both fall back to 0, which results to the following libinput error:
ADS7846 Touchscreen: kernel bug: device has min == max on ABS_PRESSURE
Avoid it by only setting ABS_PRESSURE if the values differ.
Signed-off-by: Benjamin Bara <benjamin.bara@skidata.com> --- drivers/input/touchscreen/ads7846.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c index faea40dd66d0..2535424a5630 100644 --- a/drivers/input/touchscreen/ads7846.c +++ b/drivers/input/touchscreen/ads7846.c @@ -1281,7 +1281,7 @@ static int ads7846_probe(struct spi_device *spi) pdata->y_min ? : 0, pdata->y_max ? : MAX_12BIT, 0, 0); - if (ts->model != 7845) + if (ts->model != 7845 && pdata->pressure_min != pdata->pressure_max) input_set_abs_params(input_dev, ABS_PRESSURE, pdata->pressure_min, pdata->pressure_max, 0, 0); --- base-commit: 451cc82bd11eb6a374f4dbcfc1cf007eafea91ab change-id: 20230727-ads7846-pressure-05edfb01887f Best regards, -- Benjamin Bara <benjamin.bara@skidata.com>
| |