Call v4l2_ctrl_request_create() from req_validate() to create the control request object if needed. Without this the returned request object would not have a copy of the controls used for the captured frame. Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx> --- drivers/media/test-drivers/vivid/vivid-core.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/media/test-drivers/vivid/vivid-core.c b/drivers/media/test-drivers/vivid/vivid-core.c index f7ee37e9508d..59e155a8765e 100644 --- a/drivers/media/test-drivers/vivid/vivid-core.c +++ b/drivers/media/test-drivers/vivid/vivid-core.c @@ -783,7 +783,11 @@ static void vivid_dev_release(struct v4l2_device *v4l2_dev) static int vivid_req_validate(struct media_request *req) { struct vivid_dev *dev = container_of(req->mdev, struct vivid_dev, mdev); + int ret; + ret = v4l2_ctrl_request_create(req, &dev->ctrl_hdl_vid_cap); + if (ret) + return ret; if (dev->req_validate_error) { dev->req_validate_error = false; return -EINVAL; -- 2.27.0