Fixes v4l2-compliance:

Format ioctls (Input 0):
                warn: v4l2-test-formats.cpp(1339): S_PARM is supported but 
doesn't report V4L2_CAP_TIMEPERFRAME
                fail: v4l2-test-formats.cpp(1241): node->has_frmintervals && 
!cap->capability

Reviewed-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
Reviewed-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>
Signed-off-by: Ricardo Ribalda <riba...@chromium.org>
---
 drivers/media/usb/uvc/uvc_v4l2.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c
index ac98869d5a05..1eeeb00280e4 100644
--- a/drivers/media/usb/uvc/uvc_v4l2.c
+++ b/drivers/media/usb/uvc/uvc_v4l2.c
@@ -472,10 +472,13 @@ static int uvc_v4l2_set_streamparm(struct uvc_streaming 
*stream,
        uvc_simplify_fraction(&timeperframe.numerator,
                &timeperframe.denominator, 8, 333);
 
-       if (parm->type == V4L2_BUF_TYPE_VIDEO_CAPTURE)
+       if (parm->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) {
                parm->parm.capture.timeperframe = timeperframe;
-       else
+               parm->parm.capture.capability = V4L2_CAP_TIMEPERFRAME;
+       } else {
                parm->parm.output.timeperframe = timeperframe;
+               parm->parm.output.capability = V4L2_CAP_TIMEPERFRAME;
+       }
 
        return 0;
 }
-- 
2.31.0.291.g576ba9dcdaf-goog

Reply via email to