Hi Wanlong,

Thanks for the patch.

On Monday 27 August 2012 15:23:15 Wanlong Gao wrote:
> At commit 07d106d0, Linus pointed out that ENOIOCTLCMD should be
> translated as ENOTTY to user mode.
> 
> Cc: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
> Cc: Mauro Carvalho Chehab <mche...@infradead.org>
> Cc: linux-me...@vger.kernel.org
> Signed-off-by: Wanlong Gao <gaowanl...@cn.fujitsu.com>
> ---
>  drivers/media/video/omap3isp/ispvideo.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/media/video/omap3isp/ispvideo.c
> b/drivers/media/video/omap3isp/ispvideo.c index b37379d..2dd982e 100644
> --- a/drivers/media/video/omap3isp/ispvideo.c
> +++ b/drivers/media/video/omap3isp/ispvideo.c
> @@ -337,7 +337,7 @@ __isp_video_get_format(struct isp_video *video, struct
> v4l2_format *format) fmt.which = V4L2_SUBDEV_FORMAT_ACTIVE;
>       ret = v4l2_subdev_call(subdev, pad, get_fmt, NULL, &fmt);
>       if (ret == -ENOIOCTLCMD)
> -             ret = -EINVAL;
> +             ret = -ENOTTY;

I don't think this location should be changed. __isp_video_get_format() is 
called by isp_video_check_format() only, which in turn is called by 
isp_video_streamon() only. A failure to retrieve the format in 
__isp_video_get_format() does not really mean the VIDIOC_STREAMON is not 
supported.

I'll apply hunks 2 to 5 and drop hunk 1 if that's fine with you.

> 
>       mutex_unlock(&video->mutex);
> 
> @@ -723,7 +723,7 @@ isp_video_try_format(struct file *file, void *fh, struct
> v4l2_format *format) fmt.which = V4L2_SUBDEV_FORMAT_ACTIVE;
>       ret = v4l2_subdev_call(subdev, pad, get_fmt, NULL, &fmt);
>       if (ret)
> -             return ret == -ENOIOCTLCMD ? -EINVAL : ret;
> +             return ret == -ENOIOCTLCMD ? -ENOTTY : ret;
> 
>       isp_video_mbus_to_pix(video, &fmt.format, &format->fmt.pix);
>       return 0;
> @@ -744,7 +744,7 @@ isp_video_cropcap(struct file *file, void *fh, struct
> v4l2_cropcap *cropcap) ret = v4l2_subdev_call(subdev, video, cropcap,
> cropcap);
>       mutex_unlock(&video->mutex);
> 
> -     return ret == -ENOIOCTLCMD ? -EINVAL : ret;
> +     return ret == -ENOIOCTLCMD ? -ENOTTY : ret;
>  }
> 
>  static int
> @@ -771,7 +771,7 @@ isp_video_get_crop(struct file *file, void *fh, struct
> v4l2_crop *crop) format.which = V4L2_SUBDEV_FORMAT_ACTIVE;
>       ret = v4l2_subdev_call(subdev, pad, get_fmt, NULL, &format);
>       if (ret < 0)
> -             return ret == -ENOIOCTLCMD ? -EINVAL : ret;
> +             return ret == -ENOIOCTLCMD ? -ENOTTY : ret;
> 
>       crop->c.left = 0;
>       crop->c.top = 0;
> @@ -796,7 +796,7 @@ isp_video_set_crop(struct file *file, void *fh, struct
> v4l2_crop *crop) ret = v4l2_subdev_call(subdev, video, s_crop, crop);
>       mutex_unlock(&video->mutex);
> 
> -     return ret == -ENOIOCTLCMD ? -EINVAL : ret;
> +     return ret == -ENOIOCTLCMD ? -ENOTTY : ret;
>  }
> 
>  static int

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to