diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0690-Revert-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-bu.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.19/950-0690-Revert-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-bu.patch | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0690-Revert-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-bu.patch b/target/linux/brcm2708/patches-4.19/950-0690-Revert-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-bu.patch deleted file mode 100644 index 32e4cd705c..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0690-Revert-media-vb2-Allow-reqbufs-0-with-in-use-MMAP-bu.patch +++ /dev/null @@ -1,55 +0,0 @@ -From db26693701ac11d20a16ca455886d810a6b67c2c Mon Sep 17 00:00:00 2001 -From: Dave Stevenson <dave.stevenson@raspberrypi.org> -Date: Fri, 28 Jun 2019 11:30:49 +0100 -Subject: [PATCH 690/773] Revert "media: vb2: Allow reqbufs(0) with "in use" - MMAP buffers" - -This reverts commit a2c73e18c1f657de6d654f51effa0a94863abbd8. -An alternative version was accepted upstream. Revert this patch to -apply that one. - -Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> ---- - .../media/common/videobuf2/videobuf2-core.c | 23 +++++++++++++++++++ - 1 file changed, 23 insertions(+) - ---- a/drivers/media/common/videobuf2/videobuf2-core.c -+++ b/drivers/media/common/videobuf2/videobuf2-core.c -@@ -554,6 +554,20 @@ bool vb2_buffer_in_use(struct vb2_queue - } - EXPORT_SYMBOL(vb2_buffer_in_use); - -+/* -+ * __buffers_in_use() - return true if any buffers on the queue are in use and -+ * the queue cannot be freed (by the means of REQBUFS(0)) call -+ */ -+static bool __buffers_in_use(struct vb2_queue *q) -+{ -+ unsigned int buffer; -+ for (buffer = 0; buffer < q->num_buffers; ++buffer) { -+ if (vb2_buffer_in_use(q, q->bufs[buffer])) -+ return true; -+ } -+ return false; -+} -+ - void vb2_core_querybuf(struct vb2_queue *q, unsigned int index, void *pb) - { - call_void_bufop(q, fill_user_buffer, q->bufs[index], pb); -@@ -665,7 +679,16 @@ int vb2_core_reqbufs(struct vb2_queue *q - - if (*count == 0 || q->num_buffers != 0 || - (q->memory != VB2_MEMORY_UNKNOWN && q->memory != memory)) { -+ /* -+ * We already have buffers allocated, so first check if they -+ * are not in use and can be freed. -+ */ - mutex_lock(&q->mmap_lock); -+ if (q->memory == VB2_MEMORY_MMAP && __buffers_in_use(q)) { -+ mutex_unlock(&q->mmap_lock); -+ dprintk(1, "memory in use, cannot free\n"); -+ return -EBUSY; -+ } - - /* - * Call queue_cancel to clean up any buffers in the PREPARED or |