media: v4l2-ctrls: v4l2_ctrl_request_complete() should always set ref->req
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Tue, 3 Mar 2020 10:34:48 +0000 (11:34 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 5 Mar 2020 21:48:56 +0000 (22:48 +0100)
commit2fae4d6aabc8fb2d49f40b12a8f82bf730216f99
tree48fc14cbb531f8e27e7799cc95e4ed9937cbcddf
parent34217262898a4c2cc5bef4ca476e9fb9f0bf19a8
media: v4l2-ctrls: v4l2_ctrl_request_complete() should always set ref->req

When the request is completed, all controls are copied to the request object.
However, when VIDIOC_G_EXT_CTRLS attempts to read control values from the
request it will read the current value instead for any control reference that
has a NULL ref->req pointer. But that's wrong: after completing the request
*all* controls should have a non-NULL ref->req pointer since they are after
all copied to the request.

So set ref->req if it wasn't set already.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Reported-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/v4l2-core/v4l2-ctrls.c