All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Verkuil <hverkuil@xs4all.nl>
To: Ricardo Ribalda <ribalda@chromium.org>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Tomasz Figa <tfiga@chromium.org>,
	linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	senozhatsky@chromium.org
Subject: Re: [PATCH v2 4/6] media: uvcvideo: set error_idx to count on EACCESS
Date: Fri, 12 Mar 2021 08:14:13 +0100	[thread overview]
Message-ID: <e5860193-a672-96b8-9a40-5f6d77dd4783@xs4all.nl> (raw)
In-Reply-To: <20210311221946.1319924-5-ribalda@chromium.org>

On 11/03/2021 23:19, Ricardo Ribalda wrote:
> According to the doc:
> The, in hindsight quite poor, solution for that is to set error_idx to
> count if the validation failed.

I think this needs a bit more explanation. How about this:

"If an error is found when validating the list of controls passed with
VIDIOC_G_EXT_CTRLS, then error_idx shall be set to ctrls->count to indicate
to userspace that no actual hardware was touched.

It would have been much nicer of course if error_idx could point to the
control index that failed the validation, but sadly that's not how the
API was designed."

> 
> Fixes v4l2-compliance:
> Control ioctls (Input 0):
>                 fail: v4l2-test-controls.cpp(645): invalid error index write only control
>         test VIDIOC_G/S/TRY_EXT_CTRLS: FAIL
> 
> Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>

After improving the commit log you can add my:

Reviewed-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>

Thanks!

	Hans

> ---
>  drivers/media/usb/uvc/uvc_v4l2.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c
> index 157310c0ca87..36eb48622d48 100644
> --- a/drivers/media/usb/uvc/uvc_v4l2.c
> +++ b/drivers/media/usb/uvc/uvc_v4l2.c
> @@ -1073,7 +1073,8 @@ static int uvc_ioctl_g_ext_ctrls(struct file *file, void *fh,
>  		ret = uvc_ctrl_get(chain, ctrl);
>  		if (ret < 0) {
>  			uvc_ctrl_rollback(handle);
> -			ctrls->error_idx = i;
> +			ctrls->error_idx = (ret == -EACCES) ?
> +						ctrls->count : i;
>  			return ret;
>  		}
>  	}
> 


  parent reply	other threads:[~2021-03-12  7:15 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-11 22:19 [PATCH v2 0/6] uvcvideo: Fix v4l2-compliance errors Ricardo Ribalda
2021-03-11 22:19 ` [PATCH v2 1/6] media: v4l2-ioctl: Fix check_ext_ctrls Ricardo Ribalda
2021-03-11 23:43   ` Laurent Pinchart
2021-03-11 22:19 ` [PATCH v2 2/6] media: uvcvideo: Set capability in s_param Ricardo Ribalda
2021-03-12  7:07   ` Hans Verkuil
2021-03-11 22:19 ` [PATCH v2 3/6] media: uvcvideo: Return -EIO for control errors Ricardo Ribalda
2021-03-11 22:50   ` Laurent Pinchart
2021-03-11 22:59     ` Ricardo Ribalda Delgado
2021-03-11 23:30       ` Laurent Pinchart
2021-03-12  6:51         ` Ricardo Ribalda Delgado
2021-03-12  7:08   ` Hans Verkuil
2021-03-11 22:19 ` [PATCH v2 4/6] media: uvcvideo: set error_idx to count on EACCESS Ricardo Ribalda
2021-03-11 23:40   ` Laurent Pinchart
2021-03-12  7:14   ` Hans Verkuil [this message]
2021-03-12 10:18     ` Laurent Pinchart
2021-03-11 22:19 ` [PATCH v2 5/6] media: uvcvideo: Add support for V4L2_CTRL_TYPE_CTRL_CLASS Ricardo Ribalda
2021-03-12  1:21   ` Laurent Pinchart
2021-03-12  9:57     ` Ricardo Ribalda Delgado
2021-03-12 10:13       ` Laurent Pinchart
2021-03-12 10:22         ` Hans Verkuil
2021-03-12 10:56           ` Laurent Pinchart
2021-03-11 22:19 ` [PATCH v2 6/6] media: uvcvideo: Set a different name for the metadata entity Ricardo Ribalda
2021-03-11 23:38   ` Laurent Pinchart
2021-03-12  7:17     ` Hans Verkuil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e5860193-a672-96b8-9a40-5f6d77dd4783@xs4all.nl \
    --to=hverkuil@xs4all.nl \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=ribalda@chromium.org \
    --cc=senozhatsky@chromium.org \
    --cc=tfiga@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.