Input: cyapa - fix for losing events during device power transitions
authorDudley Du <dudl@cypress.com>
Fri, 4 Mar 2016 19:23:09 +0000 (11:23 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 4 Mar 2016 19:32:13 +0000 (11:32 -0800)
commit3cd47869431d7402d0613cf0f7fbb392f2b97565
tree295eebb05b77b62f3b64ee8112b83b4e11980198
parent5186b8c41a89fd071f8d036b41ec4b68fbcf2e4d
Input: cyapa - fix for losing events during device power transitions

When changing the scan rate as part of runtime-resume process we may lose
some of the events, because:

1) for gen3 trackpads, the driver must msleep() some time to ensure that
the device is ready to accept next command;

2) for gen5 and later trackpads, the queue dumping function will simply
ignore the events when waiting for the set power mode command response.

The solution is to keep polling and report those valid events when the set
power mode command is in progress.

Signed-off-by: Dudley Du <dudl@cypress.com>
Tested-by: Jeremiah Mahler <jmmahler@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/mouse/cyapa.c
drivers/input/mouse/cyapa.h
drivers/input/mouse/cyapa_gen3.c
drivers/input/mouse/cyapa_gen5.c
drivers/input/mouse/cyapa_gen6.c