aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorJarod Wilson <jarod@redhat.com>2011-01-26 12:20:09 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-01-31 12:20:35 -0200
commit5bd9d73c84a519b828f95ce295587b83eab3329e (patch)
treeaa2b214068ee18f51b43d613d83e601eab345199 /drivers/media
parentb4608faee04047ecb15d2acf276d12e21b170b0d (diff)
downloadkernel_samsung_crespo-5bd9d73c84a519b828f95ce295587b83eab3329e.zip
kernel_samsung_crespo-5bd9d73c84a519b828f95ce295587b83eab3329e.tar.gz
kernel_samsung_crespo-5bd9d73c84a519b828f95ce295587b83eab3329e.tar.bz2
[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>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/rc/mceusb.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c
index 6012fb2..6df0a49 100644
--- a/drivers/media/rc/mceusb.c
+++ b/drivers/media/rc/mceusb.c
@@ -855,6 +855,7 @@ static void mceusb_process_ir_data(struct mceusb_dev *ir, int buf_len)
break;
case PARSE_IRDATA:
ir->rem--;
+ init_ir_raw_event(&rawir);
rawir.pulse = ((ir->buf_in[i] & MCE_PULSE_BIT) != 0);
rawir.duration = (ir->buf_in[i] & MCE_PULSE_MASK)
* 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);
if (ir->rem)
ir->parser_state = PARSE_IRDATA;
+ else
+ ir_raw_event_reset(ir->rc);
break;
}