提交 928eedf0 编写于 作者: G Geert Uytterhoeven 提交者: Dmitry Torokhov

Input: st1232 - fix off-by-one error in resolution handling

Before, the maximum coordinates were fixed to (799, 479) or (319, 479),
depending on touchscreen controller type.  The driver was changed to
read the actual values from the touchscreen controller, but did not take
into account the returned values are not the maximum coordinates, but
the touchscreen resolution (e.g. 800 and 480).

Fix this by subtracting 1.

Fixes: 3a54a215 ("Input: st1232 - add support resolution reading")
Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20201229162601.2154566-2-geert+renesas@glider.beSigned-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
上级 4b419325
......@@ -85,8 +85,8 @@ static int st1232_ts_read_resolution(struct st1232_ts_data *ts, u16 *max_x,
buf = ts->read_buf;
*max_x = ((buf[0] & 0x0070) << 4) | buf[1];
*max_y = ((buf[0] & 0x0007) << 8) | buf[2];
*max_x = (((buf[0] & 0x0070) << 4) | buf[1]) - 1;
*max_y = (((buf[0] & 0x0007) << 8) | buf[2]) - 1;
return 0;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册