[media] mceusb: really fix remaining keybounce issues
Make sure rawir struct is zeroed out before populating it for each ir_raw_event_store_with_filter() call, and when we see a trailing 0x80 packet (end-of-data), issue an ir_raw_event_reset() call. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
b4608faee0
commit
5bd9d73c84
|
@ -855,6 +855,7 @@ static void mceusb_process_ir_data(struct mceusb_dev *ir, int buf_len)
|
||||||
break;
|
break;
|
||||||
case PARSE_IRDATA:
|
case PARSE_IRDATA:
|
||||||
ir->rem--;
|
ir->rem--;
|
||||||
|
init_ir_raw_event(&rawir);
|
||||||
rawir.pulse = ((ir->buf_in[i] & MCE_PULSE_BIT) != 0);
|
rawir.pulse = ((ir->buf_in[i] & MCE_PULSE_BIT) != 0);
|
||||||
rawir.duration = (ir->buf_in[i] & MCE_PULSE_MASK)
|
rawir.duration = (ir->buf_in[i] & MCE_PULSE_MASK)
|
||||||
* US_TO_NS(MCE_TIME_UNIT);
|
* US_TO_NS(MCE_TIME_UNIT);
|
||||||
|
@ -883,6 +884,8 @@ static void mceusb_process_ir_data(struct mceusb_dev *ir, int buf_len)
|
||||||
i, ir->rem + 1, false);
|
i, ir->rem + 1, false);
|
||||||
if (ir->rem)
|
if (ir->rem)
|
||||||
ir->parser_state = PARSE_IRDATA;
|
ir->parser_state = PARSE_IRDATA;
|
||||||
|
else
|
||||||
|
ir_raw_event_reset(ir->rc);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue