Commit d9f66c1a46163c7c83411058516a69da547262f8

Authored by Mike Auty
Committed by Dmitry Torokhov
1 parent 288933c02b

Input: wacom - fix mousewheel handling for old wacom tablets

This fixes a regression introduced in
3b57ca0f80c5c8994b5b1e3d3f904cfe727951f2.

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: Mike Auty <ikelos@gentoo.org>
Reviewed-by: Ping Cheng <pingc@wacom.com>
Cc; stable@kernel.org
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>

Showing 1 changed file with 2 additions and 2 deletions Side-by-side Diff

drivers/input/tablet/wacom_wac.c
... ... @@ -243,10 +243,10 @@
243 243 if (features->type == WACOM_G4 ||
244 244 features->type == WACOM_MO) {
245 245 input_report_abs(input, ABS_DISTANCE, data[6] & 0x3f);
246   - rw = (signed)(data[7] & 0x04) - (data[7] & 0x03);
  246 + rw = (data[7] & 0x04) - (data[7] & 0x03);
247 247 } else {
248 248 input_report_abs(input, ABS_DISTANCE, data[7] & 0x3f);
249   - rw = -(signed)data[6];
  249 + rw = -(signed char)data[6];
250 250 }
251 251 input_report_rel(input, REL_WHEEL, rw);
252 252 }