The the 0x6A and 0x6B tablets report 1024 pressure levels, but the
wacom_graphire_irq function only reads 9 bits of data, which will
cause pressure values to wrap once they exceed 511. This has already
been addressed in 2.6.38+ by commit 04ada80847.

Fixes: e33ca805c8 ("Add 3 new models: 6A, 6B, and 97 for kernel 2.6.35 and 
older")
Signed-off-by: Jason Gerecke <jason.gere...@wacom.com>
---
 2.6.30/wacom_wac.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/2.6.30/wacom_wac.c b/2.6.30/wacom_wac.c
index e2696ef..5bf69d4 100644
--- a/2.6.30/wacom_wac.c
+++ b/2.6.30/wacom_wac.c
@@ -368,7 +368,7 @@ static int wacom_graphire_irq(struct wacom_wac *wacom)
                        }
                }
                if (wacom->tool[0] != BTN_TOOL_MOUSE) {
-                       input_report_abs(input, ABS_PRESSURE, data[6] | 
((data[7] & 0x01) << 8));
+                       input_report_abs(input, ABS_PRESSURE, data[6] | 
((data[7] & 0x03) << 8));
                        input_report_key(input, BTN_TOUCH, data[1] & 0x01);
                        input_report_key(input, BTN_STYLUS, data[1] & 0x02);
                        input_report_key(input, BTN_STYLUS2, data[1] & 0x04);
-- 
2.17.0


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to