lirc_dev: LIRC_{G,S}ET_REC_MODE do not work
authorSean Young <sean@mess.org>
Fri, 2 Dec 2016 17:16:08 +0000 (15:16 -0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 12 Mar 2017 05:41:41 +0000 (06:41 +0100)
commit bd291208d7f5d6b2d6a033fee449a429230b06df upstream.

Since "273b902 [media] lirc_dev: use LIRC_CAN_REC() define" these
ioctls no longer work.

Signed-off-by: Sean Young <sean@mess.org>
Reviewed-by: Andi Shyti <andi.shyti@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/rc/lirc_dev.c

index 91f9bb8..6ebe895 100644 (file)
@@ -589,7 +589,7 @@ long lirc_dev_fop_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                result = put_user(ir->d.features, (__u32 __user *)arg);
                break;
        case LIRC_GET_REC_MODE:
-               if (LIRC_CAN_REC(ir->d.features)) {
+               if (!LIRC_CAN_REC(ir->d.features)) {
                        result = -ENOTTY;
                        break;
                }
@@ -599,7 +599,7 @@ long lirc_dev_fop_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                                  (__u32 __user *)arg);
                break;
        case LIRC_SET_REC_MODE:
-               if (LIRC_CAN_REC(ir->d.features)) {
+               if (!LIRC_CAN_REC(ir->d.features)) {
                        result = -ENOTTY;
                        break;
                }