Message ID | 20241028173914.68311-1-jason.gerecke@wacom.com |
---|---|
State | New |
Headers | show |
Series | wacom: Interpret tilt data from Intuos Pro BT as signed values | expand |
On Mon, 28 Oct 2024, Gerecke, Jason wrote: > From: Jason Gerecke <jason.gerecke@wacom.com> > > The tilt data contained in the Bluetooth packets of an Intuos Pro are > supposed to be interpreted as signed values. Simply casting the values > to type `char` is not guaranteed to work since it is implementation- > defined whether it is signed or unsigned. At least one user has noticed > the data being reported incorrectly on their system. To ensure that the > data is interpreted properly, we specifically cast to `signed char` > instead. > > Link: https://github.com/linuxwacom/input-wacom/issues/445 > Fixes: 4922cd26f03c ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface") > CC: stable@vger.kernel.org # 4.11+ > Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com> I have added 'HID: ' prefix to the subject line and applied, thanks.
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c index 413606bdf476..5a599c90e7a2 100644 --- a/drivers/hid/wacom_wac.c +++ b/drivers/hid/wacom_wac.c @@ -1353,9 +1353,9 @@ static void wacom_intuos_pro2_bt_pen(struct wacom_wac *wacom) rotation -= 1800; input_report_abs(pen_input, ABS_TILT_X, - (char)frame[7]); + (signed char)frame[7]); input_report_abs(pen_input, ABS_TILT_Y, - (char)frame[8]); + (signed char)frame[8]); input_report_abs(pen_input, ABS_Z, rotation); input_report_abs(pen_input, ABS_WHEEL, get_unaligned_le16(&frame[11]));