Patch "media: rc: nec decoder should not send both repeat and keycode" has been added to the 4.14-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
media: rc: nec decoder should not send both repeat and keycode
to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
media-rc-nec-decoder-should-not-send-both-repeat-and-keycode.patch
and it can be found in the queue-4.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
829bbf268894d0866bb9dd2b1e430cfa5c5f0779Mon Sep 17 00:00:00 2001
From: Sean Young <[email protected]>
Date: Sun, 1 Oct 2017 16:38:29 -0400
Subject: media: rc: nec decoder should not send both repeat and keycode
From: Sean Young <[email protected]>
commit 829bbf268894d0866bb9dd2b1e430cfa5c5f0779 upstream.
When receiving an nec repeat, rc_repeat() is called and then rc_keydown() with the last decoded scancode. That last call is redundant.
--- drivers/media/rc/ir-nec-decoder.c | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-)
drivers/media/rc/ir-nec-decoder.c +18 -13
@@ -87,8 +87,6 @@ static int ir_nec_decode(struct rc_dev * data->state =STATE_BIT_PULSE ;return 0 ; }else if (eq_margin (ev.duration,NEC_REPEAT_SPACE ,NEC_UNIT /2 )) { -rc_repeat (dev); -IR_dprintk (1 ,"Repeat last key\n" ); data->state =STATE_TRAILER_PULSE ;return 0 ; }
@@ -151,19 +149,26 @@ static int ir_nec_decode(struct rc_dev *if (!geq_margin (ev.duration,NEC_TRAILER_SPACE ,NEC_UNIT /2 ))break ; - address =bitrev8 ((data->bits >>24 ) &0xff ); - not_address =bitrev8 ((data->bits >>16 ) &0xff ); - command =bitrev8 ((data->bits >>8 ) &0xff ); - not_command =bitrev8 ((data->bits >>0 ) &0xff ); - - scancode =ir_nec_bytes_to_scancode (address, not_address, - command, not_command, - &rc_proto); +if (data->count ==NEC_NBITS ) { + address =bitrev8 ((data->bits >>24 ) &0xff ); + not_address =bitrev8 ((data->bits >>16 ) &0xff ); + command =bitrev8 ((data->bits >>8 ) &0xff ); + not_command =bitrev8 ((data->bits >>0 ) &0xff ); + + scancode =ir_nec_bytes_to_scancode (address, + not_address, + command, + not_command, + &rc_proto); + +if (data->is_nec_x) + data->necx_repeat = true; -if (data->is_nec_x) - data->necx_repeat = true; +rc_keydown (dev, rc_proto, scancode,0 ); + }else { +rc_repeat (dev); + } -rc_keydown (dev, rc_proto, scancode,0 ); data->state =STATE_INACTIVE ;return 0 ; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.14/media-rc-check-for-integer-overflow.patch queue-4.14/media-rc-nec-decoder-should-not-send-both-repeat-and-keycode.patch