linux/drivers/media/platform/davinci
Lad, Prabhakar 18c7adcf2c [media] media: davinci: vpif_display: fix releasing of active buffers
from commit-id: b3379c6201
"vb2: only call start_streaming if sufficient buffers are queued"
the vb2 framework warns on (WARN_ON()) if all the active buffers
are not released when streaming is stopped, initially the vb2 silently
released the buffer internally if the buffer was not released by
the driver.
Also this patch moves the disabling of interrupts from relase() callback
to stop_streaming() callback as which needs to be done ideally.

This patch fixes following issue:

WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:2011 __vb2_queue_cancel+0x1a0/0x218()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpif_display Tainted: G        W    3.14.0-rc5-00414-ged97a6f #89
[<c000e3f0>] (unwind_backtrace) from [<c000c618>] (show_stack+0x10/0x14)
[<c000c618>] (show_stack) from [<c001adb0>] (warn_slowpath_common+0x68/0x88)
[<c001adb0>] (warn_slowpath_common) from [<c001adec>] (warn_slowpath_null+0x1c/0x24)
[<c001adec>] (warn_slowpath_null) from [<c0252e0c>] (__vb2_queue_cancel+0x1a0/0x218)
[<c0252e0c>] (__vb2_queue_cancel) from [<c02533a4>] (vb2_queue_release+0x14/0x24)
[<c02533a4>] (vb2_queue_release) from [<c025a65c>] (vpif_release+0x60/0x230)
[<c025a65c>] (vpif_release) from [<c023fe5c>] (v4l2_release+0x34/0x74)
[<c023fe5c>] (v4l2_release) from [<c00b4a00>] (__fput+0x80/0x224)
[<c00b4a00>] (__fput) from [<c00341e8>] (task_work_run+0xa0/0xd0)
[<c00341e8>] (task_work_run) from [<c001cc28>] (do_exit+0x244/0x918)
[<c001cc28>] (do_exit) from [<c001d344>] (do_group_exit+0x48/0xdc)
[<c001d344>] (do_group_exit) from [<c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<c0029894>] (get_signal_to_deliver) from [<c000b888>] (do_signal+0x78/0x3a0)
[<c000b888>] (do_signal) from [<c000bc54>] (do_work_pending+0xa4/0xb4)
[<c000bc54>] (do_work_pending) from [<c00096dc>] (work_pending+0xc/0x20)
---[ end trace 5faa75e8c2f8a6a1 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:1095 vb2_buffer_done+0x1e0/0x224()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpif_display Tainted: G        W    3.14.0-rc5-00414-ged97a6f #89
[<c000e3f0>] (unwind_backtrace) from [<c000c618>] (show_stack+0x10/0x14)
[<c000c618>] (show_stack) from [<c001adb0>] (warn_slowpath_common+0x68/0x88)
[<c001adb0>] (warn_slowpath_common) from [<c001adec>] (warn_slowpath_null+0x1c/0x24)
[<c001adec>] (warn_slowpath_null) from [<c0252c28>] (vb2_buffer_done+0x1e0/0x224)
[<c0252c28>] (vb2_buffer_done) from [<c0252e3c>] (__vb2_queue_cancel+0x1d0/0x218)
[<c0252e3c>] (__vb2_queue_cancel) from [<c02533a4>] (vb2_queue_release+0x14/0x24)
[<c02533a4>] (vb2_queue_release) from [<c025a65c>] (vpif_release+0x60/0x230)
[<c025a65c>] (vpif_release) from [<c023fe5c>] (v4l2_release+0x34/0x74)
[<c023fe5c>] (v4l2_release) from [<c00b4a00>] (__fput+0x80/0x224)
[<c00b4a00>] (__fput) from [<c00341e8>] (task_work_run+0xa0/0xd0)
[<c00341e8>] (task_work_run) from [<c001cc28>] (do_exit+0x244/0x918)
[<c001cc28>] (do_exit) from [<c001d344>] (do_group_exit+0x48/0xdc)
[<c001d344>] (do_group_exit) from [<c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<c0029894>] (get_signal_to_deliver) from [<c000b888>] (do_signal+0x78/0x3a0)
[<c000b888>] (do_signal) from [<c000bc54>] (do_work_pending+0xa4/0xb4)
[<c000bc54>] (do_work_pending) from [<c00096dc>] (work_pending+0xc/0x20)
---[ end trace 5faa75e8c2f8a6a2 ]---

Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-04-15 09:50:46 -03:00
..
ccdc_hw_device.h
dm355_ccdc_regs.h [media] davinci: more gama -> gamma typo fixes 2013-03-19 16:16:23 -03:00
dm355_ccdc.c [media] media: davinci: vpss: enable vpss clocks 2013-04-14 20:08:09 -03:00
dm644x_ccdc_regs.h [media] davinci/dm644x_ccdc: fix compiler warning 2013-03-19 16:16:04 -03:00
dm644x_ccdc.c [media] media: davinci: vpss: enable vpss clocks 2013-04-14 20:08:09 -03:00
isif_regs.h [media] davinci: more gama -> gamma typo fixes 2013-03-19 16:16:23 -03:00
isif.c [media] media: davinci: vpss: enable vpss clocks 2013-04-14 20:08:09 -03:00
Kconfig [media] media: davinci: kconfig: fix incorrect selects 2013-04-14 20:06:36 -03:00
Makefile [media] media: davinci: kconfig: fix incorrect selects 2013-04-14 20:06:36 -03:00
vpbe_display.c [media] media: davinci: vpbe: fix build warning 2014-03-14 05:47:39 -03:00
vpbe_osd_regs.h
vpbe_osd.c [media] media: davinci: vpbe_osd: convert to devm_* api 2013-07-26 13:18:45 -03:00
vpbe_venc_regs.h
vpbe_venc.c [media] media: davinci: vpbe_venc: convert to devm_* api 2013-07-26 13:18:22 -03:00
vpbe.c [media] v4l2: pass std by value to the write-only s_std ioctl 2013-03-24 06:47:00 -03:00
vpfe_capture.c [media] davinci: remove deprecated IRQF_DISABLED 2013-10-03 14:11:18 -03:00
vpif_capture.c [media] media: davinci: vpif_capture: fix releasing of active buffers 2014-04-15 09:50:32 -03:00
vpif_capture.h [media] media: davinci: vpif: capture: add V4L2-async support 2013-07-26 13:16:37 -03:00
vpif_display.c [media] media: davinci: vpif_display: fix releasing of active buffers 2014-04-15 09:50:46 -03:00
vpif_display.h [media] media: davinci: vpif: display: add V4L2-async support 2013-07-26 13:17:15 -03:00
vpif.c [media] media: davinci: vpif: remove unnecessary braces around defines 2013-06-21 11:25:33 -03:00
vpif.h [media] davinci: vpif: Fix module build for capture and display 2013-03-23 10:38:10 -03:00
vpss.c [media] media: davinci: vpss: convert to devm* api 2013-07-26 13:19:22 -03:00