[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#678798: [wheezy regression] HP Touchsmart tm2: wacom driver doesn't work



reassign 678798 src:linux 3.2.21-1
found 678798 linux-2.6/3.4.1-1~experimental.1
found 678798 linux-2.6/3.2.18-1
tags 678798 + upstream patch moreinfo
quit

Hi,

Harishankar wrote:

> Wacom input driver no longer works. I no longer am able to get
> touchscreen or the pen tablet to work. 

Thanks for reporting it.  Presumably that is USB id 056a:00e3, or in
other words a Wacom ISDv4 E3 (TPC2FG).  There is a patch in
development that should fix this.

Please test the attached patch.

Other useful information would be:

 - the version you are testing with (you can get it with
   "dpkg-query -W linux-image-$(uname -r)" or from between the
   parentheses in "cat /proc/version" output)

 - "lsusb -v" output describing the tablet

 - full "dmesg" output from booting and reproducing the problem.

Instructions for testing patches:

 0. prerequisites:

	apt-get install git build-essential

 1. get the kernel history, if you don't already have it:

	git clone \
	  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

 2. configure, build, test:

	cd linux
	git fetch origin
	git checkout origin/master
	cp /boot/config-$(uname -r) .config; # current configuration
	scripts/config --disable DEBUG_INFO
	make localmodconfig; # optional: minimize configuration
	scripts/config --module TABLET_USB_WACOM
	make deb-pkg; # optionally with -j<num> for parallel build
	dpkg -i ../<name of package>; # as root
	reboot
	... test test test ...

   Hopefully it reproduces the bug.  So

 3. try the patch:

	cd linux
	git am -3sc /path/to/the/patch
	make deb-pkg; # maybe with -j4
	dpkg -i ../<name of package>; # as root
	reboot
	... test test test ...

Thanks for the heads up and hope that helps,
Jonathan
From: Ping Cheng <pingc@wacom.com>
Date: Sun, 24 Jun 2012 09:48:03 -0500
Subject: wacom: patch for testing

When rep_data was an array

	unsigned char rep_data[2];

spelling its address as &rep_data was perfectly valid, but now that
it is dynamically allocated

	unsigned char *rep_data = kmalloc(2, GFP_KERNEL);

that expression returns a pointer to the pointer rather than to the
array itself.  Regression introduced by commit f393ee2b814e (Input:
wacom - retrieve maximum number of touch points, 2012-04-29).
---
 drivers/input/tablet/wacom_sys.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c
index cad5602d3ce4..6b1cd71ba320 100644
--- a/drivers/input/tablet/wacom_sys.c
+++ b/drivers/input/tablet/wacom_sys.c
@@ -216,7 +216,7 @@ static void wacom_retrieve_report_data(struct usb_interface *intf,
 
 		rep_data[0] = 12;
 		result = wacom_get_report(intf, WAC_HID_FEATURE_REPORT,
-					  rep_data[0], &rep_data, 2,
+					  rep_data[0], rep_data, 2,
 					  WAC_MSG_RETRIES);
 
 		if (result >= 0 && rep_data[1] > 2)
-- 
1.7.11.rc3


Reply to: