diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2017-01-04 09:36:12 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2017-05-03 19:40:24 -0700 |
commit | 4444702e858a8fa3d51c948f509450e136a9482a (patch) | |
tree | 196329247f4cdcc8f6c80cd899e539978ba2a6d4 /common/keyboard_scan.c | |
parent | 993e6f24fa201e135670457b8c3affe356c951f2 (diff) | |
download | chrome-ec-4444702e858a8fa3d51c948f509450e136a9482a.tar.gz |
keyboard: Clear typematic when disabling keyboard
This patch clears the typematic buffer when disabling keyboard scan.
When the device goes to tablet mode with a key being pressed, this
should prevent keyboard_protocol_task from sending scan codes to the
host.
BUG=b:35585725
BRANCH=none
TEST=make buildall. Tested on Electro.
Change-Id: I73e9d2948b472458814967307412aebeb410ff2e
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/425075
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'common/keyboard_scan.c')
-rw-r--r-- | common/keyboard_scan.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/common/keyboard_scan.c b/common/keyboard_scan.c index 876d06c9fc..fa8ce3d98f 100644 --- a/common/keyboard_scan.c +++ b/common/keyboard_scan.c @@ -122,10 +122,12 @@ static int keyboard_scan_is_enabled(void) void keyboard_scan_enable(int enable, enum kb_scan_disable_masks mask) { /* Access atomically */ - if (enable) + if (enable) { atomic_clear((uint32_t *)&disable_scanning_mask, mask); - else + } else { atomic_or((uint32_t *)&disable_scanning_mask, mask); + clear_typematic_key(); + } /* Let the task figure things out */ task_wake(TASK_ID_KEYSCAN); |