Input: edt-ft5x06 - ignore touchdown events
authorLothar Waßmann <LW@KARO-electronics.de>
Fri, 28 Mar 2014 16:28:17 +0000 (09:28 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 28 Mar 2014 16:33:06 +0000 (09:33 -0700)
The chip may report invalid coordinates on touchdown events, so don't
report the initial touchdown event.

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Acked-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/edt-ft5x06.c

index fd18e580870aba1cf341f894c94d96ce301a27d9..dd94b9eea6e7ebf33d83b1237551a581a072206e 100644 (file)
@@ -176,6 +176,10 @@ static irqreturn_t edt_ft5x06_ts_isr(int irq, void *dev_id)
                if (type == TOUCH_EVENT_RESERVED)
                        continue;
 
+               /* ignore TOUCH_DOWN events, might have bogus coordinates */
+               if (type == TOUCH_EVENT_DOWN)
+                       continue;
+
                x = ((buf[0] << 8) | buf[1]) & 0x0fff;
                y = ((buf[2] << 8) | buf[3]) & 0x0fff;
                id = (buf[2] >> 4) & 0x0f;