On 8 May 2015 at 07:23, Marek Vasut <marex@xxxxxxx> wrote: > Wait a little bit longer, 50mS instead of 20mS, until the driver > starts polling for pen-up. The problematic behavior before this > patch is applied is as follows. The behavior was observed on the > STMPE610QTR controller. > > Upon a physical pen-down event, the touchscreen reports one set > of x-y-p coordinates and a pen-down event. After that, the pen-up > polling is triggered and since the controller is not ready yet, > the polling mistakenly detects a pen-up event while the physical > state is still such that the pen is down on the touch surface. > > The pen-up handling flushes the controller FIFO, so after that, > all the samples in the controller are discarded. The controller > becomes ready shortly after this bogus pen-up handling and does > generate again a pen-down interrupt. This time, the controller > contains x-y-p samples which all read as zero. Since pressure > value is zero, this set of samples is effectively ignored by > userland. > > In the end, the driver just bounces between pen-down and bogus > pen-up handling, generating no useful results. Fix this by giving > the controller a bit more time before polling it for pen-up. > > Signed-off-by: Marek Vasut <marex@xxxxxxx> > Cc: Vipul Kumar Samar <vipulkumar.samar@xxxxxx> > Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> > Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > --- > drivers/input/touchscreen/stmpe-ts.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html