mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-22 17:01:14 +00:00
[media] v4l2-mem2mem: set the queue owner field just as vb2_ioctl_reqbufs does
The queue owner will be used by videobuf2 trace events to determine and record the device minor number. It is set in v4l2_m2m_reqbufs instead of v4l2_m2m_ioctl_reqbufs because several drivers implement their own vidioc_reqbufs handlers that still call v4l2_m2m_reqbufs directly. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
85efe4e508
commit
c13a5ccf5d
1 changed files with 8 additions and 1 deletions
|
@ -357,9 +357,16 @@ int v4l2_m2m_reqbufs(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
||||||
struct v4l2_requestbuffers *reqbufs)
|
struct v4l2_requestbuffers *reqbufs)
|
||||||
{
|
{
|
||||||
struct vb2_queue *vq;
|
struct vb2_queue *vq;
|
||||||
|
int ret;
|
||||||
|
|
||||||
vq = v4l2_m2m_get_vq(m2m_ctx, reqbufs->type);
|
vq = v4l2_m2m_get_vq(m2m_ctx, reqbufs->type);
|
||||||
return vb2_reqbufs(vq, reqbufs);
|
ret = vb2_reqbufs(vq, reqbufs);
|
||||||
|
/* If count == 0, then the owner has released all buffers and he
|
||||||
|
is no longer owner of the queue. Otherwise we have an owner. */
|
||||||
|
if (ret == 0)
|
||||||
|
vq->owner = reqbufs->count ? file->private_data : NULL;
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(v4l2_m2m_reqbufs);
|
EXPORT_SYMBOL_GPL(v4l2_m2m_reqbufs);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue