Input: usbtouchscreen - fix buffer overflow, make more egalax work
authorDaniel Ritz <daniel.ritz-ml@swissonline.ch>
Thu, 17 Jan 2008 17:01:18 +0000 (12:01 -0500)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 17 Jan 2008 17:01:18 +0000 (12:01 -0500)
commit62aa366d9b0158a81eace3b83e6b027789f7575b
treee4cfc7b8c93189ce02aa1b8c32a81fa02f18351f
parent6724f93463c332018e05f538a2ab3ce41eac0e8a
Input: usbtouchscreen - fix buffer overflow, make more egalax work

Fix a buffer overflow in mutli-packet handling code.  The overflow can
only happen with eGalax devices and is even there very unlikely (only
non-report packet are affected any only when truncated after the first
byte).

Also changes the mutli-packet handling code not to drop unknown packets,
but rather just drop one byte.  This allows synchronizing on report packets
in the data stream.  It's required for some egalax devices to work at all.

Also remove the pointless 'flags' member of the device struct and set the
version number to 0.6, plus some minor cleanups.

[akpm@linux-foundation.org: coding-style fixes]

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/touchscreen/usbtouchscreen.c