Input: do not emit unneeded EV_SYN when suspending
Subsystems (2)
Dmitry Torokhov
maintainerPATCH 1/1 Input: do not emit unneeded EV_SYN when suspending
Do not emit EV_SYN/SYN_REPORT on suspend if there were no keys that are still pressed as we are suspending the device.
Signed-off-by Dmitry Torokhov <[email protected]>
--- drivers/input/input.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
drivers/input/input.c +8 -2
@@ -674,13 +674,19 @@ EXPORT_SYMBOL(input_close_device);*/ static void input_dev_release_keys (struct input_dev *dev) { +bool need_sync = false;int code;if (is_event_supported (EV_KEY , dev->evbit,EV_MAX )) { -for_each_set_bit (code, dev->key,KEY_CNT ) +for_each_set_bit (code, dev->key,KEY_CNT ) {input_pass_event (dev,EV_KEY , code,0 ); + need_sync = true; + } + +if (need_sync) +input_pass_event (dev,EV_SYN ,SYN_REPORT ,1 ); +memset (dev->key,0 ,sizeof (dev->key)); -input_pass_event (dev,EV_SYN ,SYN_REPORT ,1 ); } }
Signature · 5 lines
2.5.0.rc2.392.g76e840b -- Dmitry
Quoted 2 lines · Dmitry Torokhov
Do not emit EV_SYN/SYN_REPORT on suspend if there were no keys that are still pressed as we are suspending the device.
It looks like input_dev_release_keys is used in several other places other than input_dev_suspend (reset, disconnect, freeze), so maybe change the commit message to reflect that?
Otherwise, LGTM.
Signature · 3 lines
Benson Leung Software Engineer, Chrom* OS [email protected]