瀏覽代碼

HID: wacom: Limit touchstrip data to 13 bits

Commit c7f0522 uses sixteen bits of data in the construction of 'strip1'
and 'strip2'. This can cause problems in some cases, however, since some
tablets store flags in the MSB of data[2] and data[4] that should not be
included in these values. This restores the 0x1f mask that used prior
to c7f0522.

Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Jason Gerecke 9 年之前
父節點
當前提交
f73d08d073
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      drivers/hid/wacom_wac.c

+ 2 - 2
drivers/hid/wacom_wac.c

@@ -545,8 +545,8 @@ static int wacom_intuos_pad(struct wacom_wac *wacom)
 			          ((data[6] & 0x0F) << 4)  |
 			          (data[5] & 0x0F);
 		}
-		strip1 = (data[1] << 8) | data[2];
-		strip2 = (data[3] << 8) | data[4];
+		strip1 = ((data[1] & 0x1f) << 8) | data[2];
+		strip2 = ((data[3] & 0x1f) << 8) | data[4];
 	}
 
 	prox = (buttons & ~(~0 << nbuttons)) | (keys & ~(~0 << nkeys)) |