From: Mauro Carvalho Chehab <m.chehab@samsung.com>
To: James Hogan <james.hogan@imgtec.com>
Cc: Sifan Naeem <sifan.naeem@imgtec.com>,
stable@vger.kernel.org, linux-media@vger.kernel.org
Subject: Re: [REVIEW PATCH 1/2] img-ir/hw: Avoid clearing filter for no-op protocol change
Date: Thu, 04 Dec 2014 15:38:14 -0200 [thread overview]
Message-ID: <20141204153814.00a1a5ec.m.chehab@samsung.com> (raw)
In-Reply-To: <1417438510-18977-2-git-send-email-james.hogan@imgtec.com>
Em Mon, 1 Dec 2014 12:55:09 +0000
James Hogan <james.hogan@imgtec.com> escreveu:
> When the img-ir driver is asked to change protocol, if the chosen
> decoder is already loaded then don't call img_ir_set_decoder(), so as
> not to clear the current filter.
>
> This is important because store_protocol() does not refresh the scancode
> filter with the new protocol if the set of enabled protocols hasn't
> actually changed, but it will still call the change_protocol() callback,
> resulting in the filter being disabled in the hardware.
>
> The problem can be reproduced by setting a filter, and then setting the
> protocol to the same protocol that is already set:
> $ echo nec > protocols
> $ echo 0xffff > filter_mask
> $ echo nec > protocols
>
> After this, messages which don't match the filter still get received.
This should be fixed at the RC core, as this is not driver-specific.
Regards,
Mauro
>
> Reported-by: Sifan Naeem <sifan.naeem@imgtec.com>
> Signed-off-by: James Hogan <james.hogan@imgtec.com>
> Cc: Mauro Carvalho Chehab <m.chehab@samsung.com>
> Cc: <stable@vger.kernel.org> # v3.15+
> Cc: linux-media@vger.kernel.org
> ---
> drivers/media/rc/img-ir/img-ir-hw.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/media/rc/img-ir/img-ir-hw.c b/drivers/media/rc/img-ir/img-ir-hw.c
> index 9db065344b41..1566337c1059 100644
> --- a/drivers/media/rc/img-ir/img-ir-hw.c
> +++ b/drivers/media/rc/img-ir/img-ir-hw.c
> @@ -643,6 +643,12 @@ static int img_ir_change_protocol(struct rc_dev *dev, u64 *ir_type)
> continue;
> if (*ir_type & dec->type) {
> *ir_type &= dec->type;
> + /*
> + * We don't want to clear the filter if nothing is
> + * changing as it won't get set again.
> + */
> + if (dec == hw->decoder)
> + return 0;
> img_ir_set_decoder(priv, dec, *ir_type);
> goto success;
> }
next prev parent reply other threads:[~2014-12-04 17:38 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-01 12:55 [REVIEW PATCH 0/2] img-ir: Some more fixes James Hogan
2014-12-01 12:55 ` [REVIEW PATCH 1/2] img-ir/hw: Avoid clearing filter for no-op protocol change James Hogan
2014-12-04 17:38 ` Mauro Carvalho Chehab [this message]
2014-12-08 16:13 ` James Hogan
2014-12-01 12:55 ` [REVIEW PATCH 2/2] img-ir/hw: Fix potential deadlock stopping timer James Hogan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141204153814.00a1a5ec.m.chehab@samsung.com \
--to=m.chehab@samsung.com \
--cc=james.hogan@imgtec.com \
--cc=linux-media@vger.kernel.org \
--cc=sifan.naeem@imgtec.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.