If timeouts or carrier range is not supported, return proper error.

Signed-off-by: Sean Young <s...@mess.org>
---
 drivers/media/rc/ir-lirc-codec.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/media/rc/ir-lirc-codec.c b/drivers/media/rc/ir-lirc-codec.c
index 637b583..235d74a 100644
--- a/drivers/media/rc/ir-lirc-codec.c
+++ b/drivers/media/rc/ir-lirc-codec.c
@@ -253,6 +253,9 @@ static long ir_lirc_ioctl(struct file *filep, unsigned int 
cmd,
                                               val);
 
        case LIRC_SET_REC_CARRIER_RANGE:
+               if (!dev->s_rx_carrier_range)
+                       return -ENOTTY;
+
                if (val <= 0)
                        return -EINVAL;
 
@@ -305,6 +308,9 @@ static long ir_lirc_ioctl(struct file *filep, unsigned int 
cmd,
                break;
 
        case LIRC_SET_REC_TIMEOUT_REPORTS:
+               if (!dev->timeout)
+                       return -ENOTTY;
+
                lirc->send_timeout_reports = !!val;
                break;
 
-- 
2.9.3

Reply via email to