]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
[media] rc5x: 6th command bit is S2 bit
authorSean Young <sean@mess.org>
Fri, 2 Dec 2016 17:16:13 +0000 (15:16 -0200)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Mon, 30 Jan 2017 14:09:38 +0000 (12:09 -0200)
The 2nd stop bit in rc5 is reused as an inverted 6th command bit in
20 bits rc5x. Currently the rc5x decoder sets the 6th command bit as
an inverted duplicate of the lowest system bit; as a result we do
not have all the command bits.

Note that there are no rc5x keymaps present.

Signed-off-by: Sean Young <sean@mess.org>
Cc: David Härdeman <david@hardeman.nu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/rc/ir-rc5-decoder.c

index a0fd4e6b2155b81e0605e58db2225d70cdf54fc1..a95477cb486d97ae20139ae53e0dbb606b30dace 100644 (file)
@@ -132,7 +132,7 @@ static int ir_rc5_decode(struct rc_dev *dev, struct ir_raw_event ev)
                        command  = (data->bits & 0x00FC0) >> 6;
                        system   = (data->bits & 0x1F000) >> 12;
                        toggle   = (data->bits & 0x20000) ? 1 : 0;
-                       command += (data->bits & 0x01000) ? 0 : 0x40;
+                       command += (data->bits & 0x40000) ? 0 : 0x40;
                        scancode = system << 16 | command << 8 | xdata;
                        protocol = RC_TYPE_RC5X;