[PATCH] staging: comedi: replace ENOSYS by proper error codes

Ian Abbott abbotti at mev.co.uk
Sun Jun 14 13:58:12 UTC 2015


On 12/06/15 21:20, julien.dehee at gmail.com wrote:
> From: Julien Dehee <julien.dehee at gmail.com>
>
> comedi/comedi_fops.c
>      use ENODEV following open manual
>
> comedi/drivers.c
>      use ENOTTY following ioctl manual
>
> drivers/serial2002.c
>      use ENOTTY following ioctl manual
>
> Signed-off-by: Julien Dehee <julien.dehee at gmail.com>
> ---
>   drivers/staging/comedi/comedi_fops.c        | 2 +-
>   drivers/staging/comedi/drivers.c            | 2 +-
>   drivers/staging/comedi/drivers/serial2002.c | 2 +-
>   3 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/comedi/comedi_fops.c b/drivers/staging/comedi/comedi_fops.c
> index 146ab00..6896a1f 100644
> --- a/drivers/staging/comedi/comedi_fops.c
> +++ b/drivers/staging/comedi/comedi_fops.c
> @@ -2611,7 +2611,7 @@ static int comedi_open(struct inode *inode, struct file *file)
>   	}
>   	if (dev->attached && dev->use_count == 0) {
>   		if (!try_module_get(dev->driver->module)) {
> -			rc = -ENOSYS;
> +			rc = -ENODEV;
>   			goto out;

Seems reasonable as driver for the device is being unloaded.

>   		}
>   		if (dev->open) {
> diff --git a/drivers/staging/comedi/drivers.c b/drivers/staging/comedi/drivers.c
> index ed0b60c..db89096 100644
> --- a/drivers/staging/comedi/drivers.c
> +++ b/drivers/staging/comedi/drivers.c
> @@ -820,7 +820,7 @@ int comedi_device_attach(struct comedi_device *dev, struct comedi_devconfig *it)
>   			 "driver '%s' does not support attach using comedi_config\n",
>   			 driv->driver_name);
>   		module_put(driv->module);
> -		ret = -ENOSYS;
> +		ret = -ENOTTY;
>   		goto out;

I don't think ENOTTY is the correct error code here. the 
COMEDI_DEVCONFIG ioctl code is an "appropriate" ioctl to send to a 
comedi device.  I'd suggest ENOTSUP as a replacement.

>   	}
>   	dev->driver = driv;
> diff --git a/drivers/staging/comedi/drivers/serial2002.c b/drivers/staging/comedi/drivers/serial2002.c
> index 83da162..929bf20 100644
> --- a/drivers/staging/comedi/drivers/serial2002.c
> +++ b/drivers/staging/comedi/drivers/serial2002.c
> @@ -101,7 +101,7 @@ static long serial2002_tty_ioctl(struct file *f, unsigned op,
>   	if (f->f_op->unlocked_ioctl)
>   		return f->f_op->unlocked_ioctl(f, op, param);
>
> -	return -ENOSYS;
> +	return -ENOTTY;

That is reasonable.  It shouldn't happen anyway if 'f' really is linked 
to a tty device.  And the return value is currently ignored anyway!

>   }
>
>   static int serial2002_tty_write(struct file *f, unsigned char *buf, int count)
>

As Greg mentioned, it should be three different patches.

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti at mev.co.uk> )=-
-=(                          Web: http://www.mev.co.uk/  )=-


More information about the devel mailing list