diff options
author | Dmitri Belimov <d.belimov@gmail.com> | 2009-09-07 20:36:05 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-09-19 00:52:05 -0300 |
commit | 2d21ffe05a188ee7e5583172c06f2b820c4ad44a (patch) | |
tree | f79158aeb58a487e536688987763afba9c8c8df7 /drivers/media | |
parent | 5eca4823ea8f99a7109779f68cedb00535aa6834 (diff) |
V4L/DVB (13001): Key filter for BeholdTV cards.
When fast push-pull button of remote control we can received incorrect
key code 0x00. Key information from IR decoder has ID of remote control 2 bytes,
byte of key code and byte of mirror key code.
Correct data
0x86 0x6B 0x00 0xFF
Wrong data
0x86 0x6B 0x00 0x00
This patch added additional test of mirror byte for filtering.
Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-input.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c index e1e83c7b966e..a0e8c62e6ae1 100644 --- a/drivers/media/video/saa7134/saa7134-input.c +++ b/drivers/media/video/saa7134/saa7134-input.c @@ -251,6 +251,10 @@ static int get_key_beholdm6xx(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw) if (data[10] != 0x6b && data[11] != 0x86 && disable_other_ir) return 0; + /* Wrong data decode fix */ + if (data[9] != (unsigned char)(~data[8])) + return 0; + *ir_key = data[9]; *ir_raw = data[9]; |