mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-09 14:50:19 +00:00
media: videobuf2-core: reverse the iteration order in __vb2_buf_dmabuf_put
This patch prepares for allowing multiple planes to share the same DMA buffer attachment. Release the planes from num_planes - 1 to 0 so that we don't leave invalid mem_priv pointers behind. Signed-off-by: Yunke Cao <yunkec@chromium.org> Acked-by: Tomasz Figa <tfiga@chromium.org> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
95af7c00f3
commit
1da4e16130
@ -323,9 +323,15 @@ static void __vb2_plane_dmabuf_put(struct vb2_buffer *vb, struct vb2_plane *p)
|
|||||||
*/
|
*/
|
||||||
static void __vb2_buf_dmabuf_put(struct vb2_buffer *vb)
|
static void __vb2_buf_dmabuf_put(struct vb2_buffer *vb)
|
||||||
{
|
{
|
||||||
unsigned int plane;
|
int plane;
|
||||||
|
|
||||||
for (plane = 0; plane < vb->num_planes; ++plane)
|
/*
|
||||||
|
* When multiple planes share the same DMA buffer attachment, the plane
|
||||||
|
* with the lowest index owns the mem_priv.
|
||||||
|
* Put planes in the reversed order so that we don't leave invalid
|
||||||
|
* mem_priv behind.
|
||||||
|
*/
|
||||||
|
for (plane = vb->num_planes - 1; plane >= 0; --plane)
|
||||||
__vb2_plane_dmabuf_put(vb, &vb->planes[plane]);
|
__vb2_plane_dmabuf_put(vb, &vb->planes[plane]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user