Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1615613 > unrolled thread

[PATCH] [media] lirc_dev: fix regression in feature check logic in ioctl

Started byAlexey Ignatov <lexszero@gmail.com>
First post2017-04-04 01:20 +0200
Last post2017-04-04 04:40 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] [media] lirc_dev: fix regression in feature check logic in ioctl Alexey Ignatov <lexszero@gmail.com> - 2017-04-04 01:20 +0200
    Re: [PATCH] [media] lirc_dev: fix regression in feature check logic in  ioctl Andi Shyti <andi.shyti@samsung.com> - 2017-04-04 04:40 +0200

#1615613 — [PATCH] [media] lirc_dev: fix regression in feature check logic in ioctl

FromAlexey Ignatov <lexszero@gmail.com>
Date2017-04-04 01:20 +0200
Subject[PATCH] [media] lirc_dev: fix regression in feature check logic in ioctl
Message-ID<tsjqp-536-7@gated-at.bofh.it>
Commit 273b902a5b1bfd6977a73c4de3eb96db3cb103cb removed inversion in
features check conditionals (by accident, perhaps). That change resulted
in erroneous reporting that device can't receive while actually it can.
Fix this.

Signed-off-by: Alexey Ignatov <lexszero@gmail.com>
---
 drivers/media/rc/lirc_dev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/rc/lirc_dev.c b/drivers/media/rc/lirc_dev.c
index e65bc9fd1d23..cd07af05be69 100644
--- a/drivers/media/rc/lirc_dev.c
+++ b/drivers/media/rc/lirc_dev.c
@@ -591,7 +591,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;
 		}
@@ -601,7 +601,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;
 		}
-- 
2.11.0

[toc] | [next] | [standalone]


#1615663 — Re: [PATCH] [media] lirc_dev: fix regression in feature check logic in ioctl

FromAndi Shyti <andi.shyti@samsung.com>
Date2017-04-04 04:40 +0200
SubjectRe: [PATCH] [media] lirc_dev: fix regression in feature check logic in ioctl
Message-ID<tsmxY-76q-3@gated-at.bofh.it>
In reply to#1615613
Hi Alexey,

this has been already fixed in commit bd291208d7f5 ("[media]
lirc_dev: LIRC_{G,S}ET_REC_MODE do not work") by Sean.

You need to update your kernel or cherry-pick this patch.

In any case, for future patches of this kind, some notes through
the lines:

On Tue, Apr 04, 2017 at 02:19:16AM +0300, Alexey Ignatov wrote:
> Commit 273b902a5b1bfd6977a73c4de3eb96db3cb103cb removed inversion in

References to commit should be of the kind:

Commit 273b902a5b1b ("[media] lirc_dev: use LIRC_CAN_REC() define
to check if the device can receive")

Please run checkpatch.pl before sending the patch.

> features check conditionals (by accident, perhaps). That change resulted
> in erroneous reporting that device can't receive while actually it can.
> Fix this.
> 
> Signed-off-by: Alexey Ignatov <lexszero@gmail.com>

Here goes:

Fixes: 273b902a5b1b ("[media] lirc_dev: use LIRC_CAN_REC() define to check if the device can receive")
Cc: <stable@vger.kernel.org>

because it fixes a bug (check Sean's patch).

Thanks,
Andi

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web