Dudley,
On Thu, Jan 14, 2016 at 01:40:33PM +0800, Dudley Du wrote:
When driver set the power mode to change the scan rate in auto suspend
process, some events may be lost because
1) for gen3 trackpad, the driver must msleep() some time to avoid issuing
next command encounter error;
2) for gen5 and later trackpads, the queue dumping function will simply
ignore the events when waiting for the set power mode command response.
so, when auto resume process will be executed, the set power mode command
will be issued can cause the events may be lost.
The solution is kept polling and report those valid events when the set
power mode command is in progress.
TEST=test on Acer C720P Chromebook
Signed-off-by: Dudley Du <redacted>
---
drivers/input/mouse/cyapa.c | 22 ++++----
drivers/input/mouse/cyapa.h | 14 ++++-
drivers/input/mouse/cyapa_gen3.c | 108 ++++++++++++++++++++++++++++-----------
drivers/input/mouse/cyapa_gen5.c | 99 +++++++++++++++++++++++++++++------
drivers/input/mouse/cyapa_gen6.c | 4 +-
5 files changed, 188 insertions(+), 59 deletions(-)
[...]
I tested this on my Acer C720 and it appears to work properly.
Tested-by: Jeremiah Mahler <redacted>
--
- Jeremiah Mahler