Patchwork HID: wacom: bits shifted too much for 9th and 10th buttons

login
register
mail settings
Submitter Ping Cheng
Date Aug. 31, 2017, 10:50 p.m.
Message ID <20170831225003.5247-1-ping.cheng@wacom.com>
Download mbox | patch
Permalink /patch/9932987/
State New
Headers show

Comments

Ping Cheng - Aug. 31, 2017, 10:50 p.m.
Cintiq 12 has 10 expresskey buttons. The bit shift for the last
two buttons were off by 5.

Fixes: c7f0522 ("HID: wacom: Slim down wacom_intuos_pad processing")

Signed-off-by: Ping Cheng <ping.cheng@wacom.com>
Tested-by: Matthieu Robin <matthieu@macolu.org>
---
 drivers/hid/wacom_wac.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Jiri Kosina - Sept. 6, 2017, 8:47 a.m.
On Thu, 31 Aug 2017, Ping Cheng wrote:

> Cintiq 12 has 10 expresskey buttons. The bit shift for the last
> two buttons were off by 5.
> 
> Fixes: c7f0522 ("HID: wacom: Slim down wacom_intuos_pad processing")
> 
> Signed-off-by: Ping Cheng <ping.cheng@wacom.com>
> Tested-by: Matthieu Robin <matthieu@macolu.org>

Applied to for-4.14/upstream-fixes.

Patch

diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
index 9f94029..801889c 100644
--- a/drivers/hid/wacom_wac.c
+++ b/drivers/hid/wacom_wac.c
@@ -567,8 +567,8 @@  static int wacom_intuos_pad(struct wacom_wac *wacom)
 				keys = data[9] & 0x07;
 			}
 		} else {
-			buttons = ((data[6] & 0x10) << 10) |
-			          ((data[5] & 0x10) << 9)  |
+			buttons = ((data[6] & 0x10) << 5)  |
+			          ((data[5] & 0x10) << 4)  |
 			          ((data[6] & 0x0F) << 4)  |
 			          (data[5] & 0x0F);
 		}