mirror of
https://github.com/torvalds/linux.git
synced 2024-11-05 19:41:54 +00:00
Input: wacom_w8001 - ignore invalid pen data packets
ThinkPad X60 Tablet PC (pen only device) sometime posts packets that are larger than W8001_PKTLEN_TPCPEN. Reported-by: Chris J Arges <christopherarges@gmail.com> Tested-by: Chris J Arges <christopherarges@gmail.com> Signed-off-by: Ping Cheng <pingc@wacom.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Cc: stable@vger.kernel.org Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
12afb34400
commit
9e72ac7492
@ -339,6 +339,15 @@ static irqreturn_t w8001_interrupt(struct serio *serio,
|
||||
w8001->idx = 0;
|
||||
parse_multi_touch(w8001);
|
||||
break;
|
||||
|
||||
default:
|
||||
/*
|
||||
* ThinkPad X60 Tablet PC (pen only device) sometimes
|
||||
* sends invalid data packets that are larger than
|
||||
* W8001_PKTLEN_TPCPEN. Let's start over again.
|
||||
*/
|
||||
if (!w8001->touch_dev && w8001->idx > W8001_PKTLEN_TPCPEN - 1)
|
||||
w8001->idx = 0;
|
||||
}
|
||||
|
||||
return IRQ_HANDLED;
|
||||
|
Loading…
Reference in New Issue
Block a user