Commit d9f66c1a authored by Mike Auty's avatar Mike Auty Committed by Dmitry Torokhov

Input: wacom - fix mousewheel handling for old wacom tablets

This fixes a regression introduced in
3b57ca0f.

The data[6] byte contains either 1 or -1 depending on the whether the
mouse wheel on older wacom tablets is moved down (1) or up (-1).  The
patch introduced in the above commit changed the cast from (signed char)
to (signed).  When cast as a signed integer and negated, the value of -1
(stored in the byte as 0xff) became -255 rather than 1.  This patch
reverts the cast to a (signed char) and also removes an unnecessary
(signed) cast, as all the values operated on are bitmasked.
Signed-off-by: default avatarMike Auty <ikelos@gentoo.org>
Reviewed-by: default avatarPing Cheng <pingc@wacom.com>
Cc; stable@kernel.org
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent 288933c0
...@@ -243,10 +243,10 @@ static int wacom_graphire_irq(struct wacom_wac *wacom) ...@@ -243,10 +243,10 @@ static int wacom_graphire_irq(struct wacom_wac *wacom)
if (features->type == WACOM_G4 || if (features->type == WACOM_G4 ||
features->type == WACOM_MO) { features->type == WACOM_MO) {
input_report_abs(input, ABS_DISTANCE, data[6] & 0x3f); input_report_abs(input, ABS_DISTANCE, data[6] & 0x3f);
rw = (signed)(data[7] & 0x04) - (data[7] & 0x03); rw = (data[7] & 0x04) - (data[7] & 0x03);
} else { } else {
input_report_abs(input, ABS_DISTANCE, data[7] & 0x3f); input_report_abs(input, ABS_DISTANCE, data[7] & 0x3f);
rw = -(signed)data[6]; rw = -(signed char)data[6];
} }
input_report_rel(input, REL_WHEEL, rw); input_report_rel(input, REL_WHEEL, rw);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment