Message ID | 1406570842-26316-3-git-send-email-m.chehab@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c index dfceeb4e34a8..a7991c7d010a 100644 --- a/drivers/media/rc/rc-main.c +++ b/drivers/media/rc/rc-main.c @@ -859,10 +859,9 @@ static ssize_t show_protocols(struct device *device, if (fattr->type == RC_FILTER_NORMAL) { enabled = dev->enabled_protocols; - if (dev->raw) + allowed = dev->allowed_protocols; + if (dev->raw && !allowed) allowed = ir_raw_get_allowed_protocols(); - else - allowed = dev->allowed_protocols; } else { enabled = dev->enabled_wakeup_protocols; allowed = dev->allowed_wakeup_protocols;
On some hardware (au0828/au8522), the hardware is broken with regards to the initial pulse detection. So, the driver needs to produce a fake start pulse. That limits the acceptable protocols, as it is not possible to produce a fake pulse that would cover all supported protocols. So, allow the driver to explicitly set the allowed protocols. If the driver doesn't specify, keep the old behavior. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> --- drivers/media/rc/rc-main.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)