summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitri Belimov <d.belimov@gmail.com>2009-09-07 20:36:05 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-09-19 00:52:05 -0300
commit2d21ffe05a188ee7e5583172c06f2b820c4ad44a (patch)
treef79158aeb58a487e536688987763afba9c8c8df7
parent5eca4823ea8f99a7109779f68cedb00535aa6834 (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>
-rw-r--r--drivers/media/video/saa7134/saa7134-input.c4
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 e1e83c7b966..a0e8c62e6ae 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];