HID: wacom: fix an Oops caused by wacom_wac_finger_count_touches
diff mbox

Message ID 1432082522-4107-1-git-send-email-pingc@wacom.com
State New
Delegated to: Jiri Kosina
Headers show

Commit Message

Ping Cheng May 20, 2015, 12:42 a.m. UTC
We assumed all touch interfaces report touch data. But, Bamboo
and Intuos non-touch devices report express keys on touch
interface. We need to check touch_max before counting touches.

Reported-by: Tasos Sahanidis <tasos@tasossah.com>
Signed-off-by: Ping Cheng <pingc@wacom.com>
---
Hi Jiri, this patch is based on for-4.1/wacom. The issue was
initially introduced in 4.1.
---
 drivers/hid/wacom_wac.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Jiri Kosina May 20, 2015, 10:05 a.m. UTC | #1
On Tue, 19 May 2015, Ping Cheng wrote:

> We assumed all touch interfaces report touch data. But, Bamboo
> and Intuos non-touch devices report express keys on touch
> interface. We need to check touch_max before counting touches.
> 
> Reported-by: Tasos Sahanidis <tasos@tasossah.com>
> Signed-off-by: Ping Cheng <pingc@wacom.com>
> ---
> Hi Jiri, this patch is based on for-4.1/wacom. The issue was
> initially introduced in 4.1.

Thanks. This is now applied to for-4.1/upstream-fixes, and this branch 
will be sent to Linus for pulling later today.

Patch
diff mbox

diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
index 69c7df7..1cd80d2 100644
--- a/drivers/hid/wacom_wac.c
+++ b/drivers/hid/wacom_wac.c
@@ -1072,6 +1072,9 @@  static int wacom_wac_finger_count_touches(struct wacom_wac *wacom)
 	int count = 0;
 	int i;
 
+	if (!touch_max)
+		return 0;
+
 	/* non-HID_GENERIC single touch input doesn't call this routine */
 	if ((touch_max == 1) && (wacom->features.type == HID_GENERIC))
 		return wacom->hid_data.tipswitch &&