media: vb2: Fix a bug about unnecessary calls to queue cancel and free
authorSatendra Singh Thakur <satendra.t@samsung.com>
Thu, 28 Dec 2017 16:29:35 +0000 (11:29 -0500)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Wed, 3 Jan 2018 10:29:42 +0000 (05:29 -0500)
commitce4686702f8f56e14388ab452f0b5201b8277872
treebc94899e0cf8c2d213d7ea625c71b8fde2eba0ed
parent0097ff8e3ea0a737ee3c528ab7c85c35bef78e28
media: vb2: Fix a bug about unnecessary calls to queue cancel and free

Currently, there's a logic with checks if *count is non-zero,
q->num_buffers is zero and q->memory is different than memory.

That's flawed when the device is initialized, or after the
queues are freed, as it does, unnecessary calls to
__vb2_queue_cancel() and  __vb2_queue_free().

That can be avoided by making sure that q->memory is set to
VB2_MEMORY_UNKNOWN at vb2_core_queue_init(), and adding such
check at the loop.

[mchehab@s-opensource.com: fix checkpatch issues and improve the
 patch, by setting q->memory to zero at vb2_core_queue_init]

Signed-off-by: Satendra Singh Thakur <satendra.t@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/common/videobuf/videobuf2-core.c