Re: [PATCH v2 12/15] [media] lirc_dev: fix error return value

From: Hans Verkuil
Date: Mon Jul 04 2016 - 07:43:09 EST


On 07/01/2016 10:01 AM, Andi Shyti wrote:
> If ioctl is called, it cannot be a case of invalid system call
> number (ENOSYS), that is an operation not permitted (EPERM).
> Replace ENOSYS with EPERM.

I'd say it is ENOTTY, i.e. this hardware does not support this ioctl.

Regards,

Hans

>
> Signed-off-by: Andi Shyti <andi.shyti@xxxxxxxxxxx>
> ---
> drivers/media/rc/lirc_dev.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/rc/lirc_dev.c b/drivers/media/rc/lirc_dev.c
> index 689e369..99d1f98 100644
> --- a/drivers/media/rc/lirc_dev.c
> +++ b/drivers/media/rc/lirc_dev.c
> @@ -587,7 +587,7 @@ long lirc_dev_fop_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
> break;
> case LIRC_GET_REC_MODE:
> if (!(ir->d.features & LIRC_CAN_REC_MASK)) {
> - result = -ENOSYS;
> + result = -EPERM;
> break;
> }
>
> @@ -597,7 +597,7 @@ long lirc_dev_fop_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
> break;
> case LIRC_SET_REC_MODE:
> if (!(ir->d.features & LIRC_CAN_REC_MASK)) {
> - result = -ENOSYS;
> + result = -EPERM;
> break;
> }
>
> @@ -615,7 +615,7 @@ long lirc_dev_fop_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
> case LIRC_GET_MIN_TIMEOUT:
> if (!(ir->d.features & LIRC_CAN_SET_REC_TIMEOUT) ||
> ir->d.min_timeout == 0) {
> - result = -ENOSYS;
> + result = -EPERM;
> break;
> }
>
> @@ -624,7 +624,7 @@ long lirc_dev_fop_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
> case LIRC_GET_MAX_TIMEOUT:
> if (!(ir->d.features & LIRC_CAN_SET_REC_TIMEOUT) ||
> ir->d.max_timeout == 0) {
> - result = -ENOSYS;
> + result = -EPERM;
> break;
> }
>
>