<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/media/platform/davinci, branch linux-3.15.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.15.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.15.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-04-15T12:54:38Z</updated>
<entry>
<title>[media] media: davinci: vpfe: make sure all the buffers unmapped and released</title>
<updated>2014-04-15T12:54:38Z</updated>
<author>
<name>Lad, Prabhakar</name>
</author>
<published>2014-03-23T05:44:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c1d1e40b8bbd712d6a8c74d8278178c8448b7abc'/>
<id>urn:sha1:c1d1e40b8bbd712d6a8c74d8278178c8448b7abc</id>
<content type='text'>
this patch makes sure that it terminates if any IO in
progress and also makes sure that all the buffers are unmapped.
It was observed that with several runs of application the application
sometimes failed to allocate memory, This patch makes sure it
all the buffers are released.

Using kmemleak it was found that buffer were not released, this patch
fixes following issue,

 echo scan &gt; /sys/kernel/debug/kmemleak
  Kernel message reads:
      memleak: 3 new suspected memory leaks (see /sys/kernel/debug/kmemleak)

Then,
     cat /sys/kernel/debug/kmemleak

  unreferenced object 0xc564a480 (size 192):
  comm "mttest", pid 764, jiffies 4294945878 (age 487.160s)
  hex dump (first 32 bytes):
    00 00 00 00 28 07 07 20 d0 02 00 00 e0 01 00 00  ....(.. ........
    00 00 00 00 00 64 05 00 01 00 00 00 01 00 00 00  .....d..........
  backtrace:
    [&lt;c00a98dc&gt;] create_object+0x10c/0x28c
    [&lt;c03ba8ec&gt;] kmemleak_alloc+0x3c/0x70
    [&lt;c00a67c0&gt;] __kmalloc+0x11c/0x1d4
    [&lt;c02b6f48&gt;] __videobuf_alloc+0x1c/0x3c
    [&lt;c02b6194&gt;] videobuf_alloc_vb+0x38/0x80
    [&lt;c02b6638&gt;] __videobuf_mmap_setup+0x9c/0x108
    [&lt;c02b6da0&gt;] videobuf_reqbufs.part.10+0x12c/0x1bc
    [&lt;c02b6e9c&gt;] videobuf_reqbufs+0x6c/0x8c
    [&lt;c02be2c4&gt;] vpfe_reqbufs+0xcc/0x130
    [&lt;c02aae90&gt;] v4l_reqbufs+0x50/0x54
    [&lt;c02aab54&gt;] __video_do_ioctl+0x260/0x2c4
    [&lt;c02a9dd4&gt;] video_usercopy+0xf0/0x310
    [&lt;c02aa008&gt;] video_ioctl2+0x14/0x1c
    [&lt;c02a562c&gt;] v4l2_ioctl+0x104/0x14c
    [&lt;c00bd320&gt;] do_vfs_ioctl+0x80/0x2d0
    [&lt;c00bd5b4&gt;] SyS_ioctl+0x44/0x64
unreferenced object 0xc564ac00 (size 192):
  comm "mttest", pid 764, jiffies 4294945878 (age 487.160s)
  hex dump (first 32 bytes):
    01 00 00 00 28 07 07 20 d0 02 00 00 e0 01 00 00  ....(.. ........
    00 00 00 00 00 64 05 00 01 00 00 00 01 00 00 00  .....d..........
  backtrace:
    [&lt;c00a98dc&gt;] create_object+0x10c/0x28c
    [&lt;c03ba8ec&gt;] kmemleak_alloc+0x3c/0x70
    [&lt;c00a67c0&gt;] __kmalloc+0x11c/0x1d4
    [&lt;c02b6f48&gt;] __videobuf_alloc+0x1c/0x3c
    [&lt;c02b6194&gt;] videobuf_alloc_vb+0x38/0x80
    [&lt;c02b6638&gt;] __videobuf_mmap_setup+0x9c/0x108
    [&lt;c02b6da0&gt;] videobuf_reqbufs.part.10+0x12c/0x1bc
    [&lt;c02b6e9c&gt;] videobuf_reqbufs+0x6c/0x8c
    [&lt;c02be2c4&gt;] vpfe_reqbufs+0xcc/0x130
    [&lt;c02aae90&gt;] v4l_reqbufs+0x50/0x54
    [&lt;c02aab54&gt;] __video_do_ioctl+0x260/0x2c4
    [&lt;c02a9dd4&gt;] video_usercopy+0xf0/0x310
    [&lt;c02aa008&gt;] video_ioctl2+0x14/0x1c
    [&lt;c02a562c&gt;] v4l2_ioctl+0x104/0x14c
    [&lt;c00bd320&gt;] do_vfs_ioctl+0x80/0x2d0
    [&lt;c00bd5b4&gt;] SyS_ioctl+0x44/0x64
unreferenced object 0xc564a180 (size 192):
  comm "mttest", pid 764, jiffies 4294945880 (age 487.140s)
  hex dump (first 32 bytes):
    02 00 00 00 28 07 07 20 d0 02 00 00 e0 01 00 00  ....(.. ........
    00 00 00 00 00 64 05 00 01 00 00 00 01 00 00 00  .....d..........
  backtrace:
    [&lt;c00a98dc&gt;] create_object+0x10c/0x28c
    [&lt;c03ba8ec&gt;] kmemleak_alloc+0x3c/0x70
    [&lt;c00a67c0&gt;] __kmalloc+0x11c/0x1d4
    [&lt;c02b6f48&gt;] __videobuf_alloc+0x1c/0x3c
    [&lt;c02b6194&gt;] videobuf_alloc_vb+0x38/0x80
    [&lt;c02b6638&gt;] __videobuf_mmap_setup+0x9c/0x108
    [&lt;c02b6da0&gt;] videobuf_reqbufs.part.10+0x12c/0x1bc
    [&lt;c02b6e9c&gt;] videobuf_reqbufs+0x6c/0x8c
    [&lt;c02be2c4&gt;] vpfe_reqbufs+0xcc/0x130
    [&lt;c02aae90&gt;] v4l_reqbufs+0x50/0x54
    [&lt;c02aab54&gt;] __video_do_ioctl+0x260/0x2c4
    [&lt;c02a9dd4&gt;] video_usercopy+0xf0/0x310
    [&lt;c02aa008&gt;] video_ioctl2+0x14/0x1c
    [&lt;c02a562c&gt;] v4l2_ioctl+0x104/0x14c
    [&lt;c00bd320&gt;] do_vfs_ioctl+0x80/0x2d0
    [&lt;c00bd5b4&gt;] SyS_ioctl+0x44/0x64

Reported-by: Jimmy Ho &lt;jimmygge@gmail.com&gt;
Signed-off-by: Lad, Prabhakar &lt;prabhakar.csengg@gmail.com&gt;
Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] media: davinci: vpbe_display: fix releasing of active buffers</title>
<updated>2014-04-15T12:50:56Z</updated>
<author>
<name>Lad, Prabhakar</name>
</author>
<published>2014-03-22T11:03:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b699f09d0d003cc1622aec30d81f3158da6790aa'/>
<id>urn:sha1:b699f09d0d003cc1622aec30d81f3158da6790aa</id>
<content type='text'>
from commit-id: b3379c6201bb3555298cdbf0aa004af260f2a6a4
"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.
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: vpbe_display Tainted: G        W    3.14.0-rc5-00414-ged97a6f #89
[&lt;c000e3f0&gt;] (unwind_backtrace) from [&lt;c000c618&gt;] (show_stack+0x10/0x14)
[&lt;c000c618&gt;] (show_stack) from [&lt;c001adb0&gt;] (warn_slowpath_common+0x68/0x88)
[&lt;c001adb0&gt;] (warn_slowpath_common) from [&lt;c001adec&gt;] (warn_slowpath_null+0x1c/0x24)
[&lt;c001adec&gt;] (warn_slowpath_null) from [&lt;c0252e0c&gt;] (__vb2_queue_cancel+0x1a0/0x218)
[&lt;c0252e0c&gt;] (__vb2_queue_cancel) from [&lt;c02533a4&gt;] (vb2_queue_release+0x14/0x24)
[&lt;c02533a4&gt;] (vb2_queue_release) from [&lt;c025a65c&gt;] (vpbe_display_release+0x60/0x230)
[&lt;c025a65c&gt;] (vpbe_display_release) from [&lt;c023fe5c&gt;] (v4l2_release+0x34/0x74)
[&lt;c023fe5c&gt;] (v4l2_release) from [&lt;c00b4a00&gt;] (__fput+0x80/0x224)
[&lt;c00b4a00&gt;] (__fput) from [&lt;c00341e8&gt;] (task_work_run+0xa0/0xd0)
[&lt;c00341e8&gt;] (task_work_run) from [&lt;c001cc28&gt;] (do_exit+0x244/0x918)
[&lt;c001cc28&gt;] (do_exit) from [&lt;c001d344&gt;] (do_group_exit+0x48/0xdc)
[&lt;c001d344&gt;] (do_group_exit) from [&lt;c0029894&gt;] (get_signal_to_deliver+0x2a0/0x5bc)
[&lt;c0029894&gt;] (get_signal_to_deliver) from [&lt;c000b888&gt;] (do_signal+0x78/0x3a0)
[&lt;c000b888&gt;] (do_signal) from [&lt;c000bc54&gt;] (do_work_pending+0xa4/0xb4)
[&lt;c000bc54&gt;] (do_work_pending) from [&lt;c00096dc&gt;] (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: vpbe_display Tainted: G        W    3.14.0-rc5-00414-ged97a6f #89
[&lt;c000e3f0&gt;] (unwind_backtrace) from [&lt;c000c618&gt;] (show_stack+0x10/0x14)
[&lt;c000c618&gt;] (show_stack) from [&lt;c001adb0&gt;] (warn_slowpath_common+0x68/0x88)
[&lt;c001adb0&gt;] (warn_slowpath_common) from [&lt;c001adec&gt;] (warn_slowpath_null+0x1c/0x24)
[&lt;c001adec&gt;] (warn_slowpath_null) from [&lt;c0252c28&gt;] (vb2_buffer_done+0x1e0/0x224)
[&lt;c0252c28&gt;] (vb2_buffer_done) from [&lt;c0252e3c&gt;] (__vb2_queue_cancel+0x1d0/0x218)
[&lt;c0252e3c&gt;] (__vb2_queue_cancel) from [&lt;c02533a4&gt;] (vb2_queue_release+0x14/0x24)
[&lt;c02533a4&gt;] (vb2_queue_release) from [&lt;c025a65c&gt;] (vpbe_display_release+0x60/0x230)
[&lt;c025a65c&gt;] (vpbe_display_release) from [&lt;c023fe5c&gt;] (v4l2_release+0x34/0x74)
[&lt;c023fe5c&gt;] (v4l2_release) from [&lt;c00b4a00&gt;] (__fput+0x80/0x224)
[&lt;c00b4a00&gt;] (__fput) from [&lt;c00341e8&gt;] (task_work_run+0xa0/0xd0)
[&lt;c00341e8&gt;] (task_work_run) from [&lt;c001cc28&gt;] (do_exit+0x244/0x918)
[&lt;c001cc28&gt;] (do_exit) from [&lt;c001d344&gt;] (do_group_exit+0x48/0xdc)
[&lt;c001d344&gt;] (do_group_exit) from [&lt;c0029894&gt;] (get_signal_to_deliver+0x2a0/0x5bc)
[&lt;c0029894&gt;] (get_signal_to_deliver) from [&lt;c000b888&gt;] (do_signal+0x78/0x3a0)
[&lt;c000b888&gt;] (do_signal) from [&lt;c000bc54&gt;] (do_work_pending+0xa4/0xb4)
[&lt;c000bc54&gt;] (do_work_pending) from [&lt;c00096dc&gt;] (work_pending+0xc/0x20)
---[ end trace 5faa75e8c2f8a6a2 ]---

Signed-off-by: Lad, Prabhakar &lt;prabhakar.csengg@gmail.com&gt;
Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] media: davinci: vpif_display: fix releasing of active buffers</title>
<updated>2014-04-15T12:50:46Z</updated>
<author>
<name>Lad, Prabhakar</name>
</author>
<published>2014-03-22T11:03:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=18c7adcf2c1abf7f554a52f57bee126995791748'/>
<id>urn:sha1:18c7adcf2c1abf7f554a52f57bee126995791748</id>
<content type='text'>
from commit-id: b3379c6201bb3555298cdbf0aa004af260f2a6a4
"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
[&lt;c000e3f0&gt;] (unwind_backtrace) from [&lt;c000c618&gt;] (show_stack+0x10/0x14)
[&lt;c000c618&gt;] (show_stack) from [&lt;c001adb0&gt;] (warn_slowpath_common+0x68/0x88)
[&lt;c001adb0&gt;] (warn_slowpath_common) from [&lt;c001adec&gt;] (warn_slowpath_null+0x1c/0x24)
[&lt;c001adec&gt;] (warn_slowpath_null) from [&lt;c0252e0c&gt;] (__vb2_queue_cancel+0x1a0/0x218)
[&lt;c0252e0c&gt;] (__vb2_queue_cancel) from [&lt;c02533a4&gt;] (vb2_queue_release+0x14/0x24)
[&lt;c02533a4&gt;] (vb2_queue_release) from [&lt;c025a65c&gt;] (vpif_release+0x60/0x230)
[&lt;c025a65c&gt;] (vpif_release) from [&lt;c023fe5c&gt;] (v4l2_release+0x34/0x74)
[&lt;c023fe5c&gt;] (v4l2_release) from [&lt;c00b4a00&gt;] (__fput+0x80/0x224)
[&lt;c00b4a00&gt;] (__fput) from [&lt;c00341e8&gt;] (task_work_run+0xa0/0xd0)
[&lt;c00341e8&gt;] (task_work_run) from [&lt;c001cc28&gt;] (do_exit+0x244/0x918)
[&lt;c001cc28&gt;] (do_exit) from [&lt;c001d344&gt;] (do_group_exit+0x48/0xdc)
[&lt;c001d344&gt;] (do_group_exit) from [&lt;c0029894&gt;] (get_signal_to_deliver+0x2a0/0x5bc)
[&lt;c0029894&gt;] (get_signal_to_deliver) from [&lt;c000b888&gt;] (do_signal+0x78/0x3a0)
[&lt;c000b888&gt;] (do_signal) from [&lt;c000bc54&gt;] (do_work_pending+0xa4/0xb4)
[&lt;c000bc54&gt;] (do_work_pending) from [&lt;c00096dc&gt;] (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
[&lt;c000e3f0&gt;] (unwind_backtrace) from [&lt;c000c618&gt;] (show_stack+0x10/0x14)
[&lt;c000c618&gt;] (show_stack) from [&lt;c001adb0&gt;] (warn_slowpath_common+0x68/0x88)
[&lt;c001adb0&gt;] (warn_slowpath_common) from [&lt;c001adec&gt;] (warn_slowpath_null+0x1c/0x24)
[&lt;c001adec&gt;] (warn_slowpath_null) from [&lt;c0252c28&gt;] (vb2_buffer_done+0x1e0/0x224)
[&lt;c0252c28&gt;] (vb2_buffer_done) from [&lt;c0252e3c&gt;] (__vb2_queue_cancel+0x1d0/0x218)
[&lt;c0252e3c&gt;] (__vb2_queue_cancel) from [&lt;c02533a4&gt;] (vb2_queue_release+0x14/0x24)
[&lt;c02533a4&gt;] (vb2_queue_release) from [&lt;c025a65c&gt;] (vpif_release+0x60/0x230)
[&lt;c025a65c&gt;] (vpif_release) from [&lt;c023fe5c&gt;] (v4l2_release+0x34/0x74)
[&lt;c023fe5c&gt;] (v4l2_release) from [&lt;c00b4a00&gt;] (__fput+0x80/0x224)
[&lt;c00b4a00&gt;] (__fput) from [&lt;c00341e8&gt;] (task_work_run+0xa0/0xd0)
[&lt;c00341e8&gt;] (task_work_run) from [&lt;c001cc28&gt;] (do_exit+0x244/0x918)
[&lt;c001cc28&gt;] (do_exit) from [&lt;c001d344&gt;] (do_group_exit+0x48/0xdc)
[&lt;c001d344&gt;] (do_group_exit) from [&lt;c0029894&gt;] (get_signal_to_deliver+0x2a0/0x5bc)
[&lt;c0029894&gt;] (get_signal_to_deliver) from [&lt;c000b888&gt;] (do_signal+0x78/0x3a0)
[&lt;c000b888&gt;] (do_signal) from [&lt;c000bc54&gt;] (do_work_pending+0xa4/0xb4)
[&lt;c000bc54&gt;] (do_work_pending) from [&lt;c00096dc&gt;] (work_pending+0xc/0x20)
---[ end trace 5faa75e8c2f8a6a2 ]---

Signed-off-by: Lad, Prabhakar &lt;prabhakar.csengg@gmail.com&gt;
Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] media: davinci: vpif_capture: fix releasing of active buffers</title>
<updated>2014-04-15T12:50:32Z</updated>
<author>
<name>Lad, Prabhakar</name>
</author>
<published>2014-03-22T11:03:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e6ba3db1049548df10f90234328441b2873a4bd3'/>
<id>urn:sha1:e6ba3db1049548df10f90234328441b2873a4bd3</id>
<content type='text'>
from commit-id: b3379c6201bb3555298cdbf0aa004af260f2a6a4
"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_capture Tainted: G        W    3.14.0-rc5-00414-ged97a6f #89
[&lt;c000e3f0&gt;] (unwind_backtrace) from [&lt;c000c618&gt;] (show_stack+0x10/0x14)
[&lt;c000c618&gt;] (show_stack) from [&lt;c001adb0&gt;] (warn_slowpath_common+0x68/0x88)
[&lt;c001adb0&gt;] (warn_slowpath_common) from [&lt;c001adec&gt;] (warn_slowpath_null+0x1c/0x24)
[&lt;c001adec&gt;] (warn_slowpath_null) from [&lt;c0252e0c&gt;] (__vb2_queue_cancel+0x1a0/0x218)
[&lt;c0252e0c&gt;] (__vb2_queue_cancel) from [&lt;c02533a4&gt;] (vb2_queue_release+0x14/0x24)
[&lt;c02533a4&gt;] (vb2_queue_release) from [&lt;c025a65c&gt;] (vpif_release+0x60/0x230)
[&lt;c025a65c&gt;] (vpif_release) from [&lt;c023fe5c&gt;] (v4l2_release+0x34/0x74)
[&lt;c023fe5c&gt;] (v4l2_release) from [&lt;c00b4a00&gt;] (__fput+0x80/0x224)
[&lt;c00b4a00&gt;] (__fput) from [&lt;c00341e8&gt;] (task_work_run+0xa0/0xd0)
[&lt;c00341e8&gt;] (task_work_run) from [&lt;c001cc28&gt;] (do_exit+0x244/0x918)
[&lt;c001cc28&gt;] (do_exit) from [&lt;c001d344&gt;] (do_group_exit+0x48/0xdc)
[&lt;c001d344&gt;] (do_group_exit) from [&lt;c0029894&gt;] (get_signal_to_deliver+0x2a0/0x5bc)
[&lt;c0029894&gt;] (get_signal_to_deliver) from [&lt;c000b888&gt;] (do_signal+0x78/0x3a0)
[&lt;c000b888&gt;] (do_signal) from [&lt;c000bc54&gt;] (do_work_pending+0xa4/0xb4)
[&lt;c000bc54&gt;] (do_work_pending) from [&lt;c00096dc&gt;] (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_capture Tainted: G        W    3.14.0-rc5-00414-ged97a6f #89
[&lt;c000e3f0&gt;] (unwind_backtrace) from [&lt;c000c618&gt;] (show_stack+0x10/0x14)
[&lt;c000c618&gt;] (show_stack) from [&lt;c001adb0&gt;] (warn_slowpath_common+0x68/0x88)
[&lt;c001adb0&gt;] (warn_slowpath_common) from [&lt;c001adec&gt;] (warn_slowpath_null+0x1c/0x24)
[&lt;c001adec&gt;] (warn_slowpath_null) from [&lt;c0252c28&gt;] (vb2_buffer_done+0x1e0/0x224)
[&lt;c0252c28&gt;] (vb2_buffer_done) from [&lt;c0252e3c&gt;] (__vb2_queue_cancel+0x1d0/0x218)
[&lt;c0252e3c&gt;] (__vb2_queue_cancel) from [&lt;c02533a4&gt;] (vb2_queue_release+0x14/0x24)
[&lt;c02533a4&gt;] (vb2_queue_release) from [&lt;c025a65c&gt;] (vpif_release+0x60/0x230)
[&lt;c025a65c&gt;] (vpif_release) from [&lt;c023fe5c&gt;] (v4l2_release+0x34/0x74)
[&lt;c023fe5c&gt;] (v4l2_release) from [&lt;c00b4a00&gt;] (__fput+0x80/0x224)
[&lt;c00b4a00&gt;] (__fput) from [&lt;c00341e8&gt;] (task_work_run+0xa0/0xd0)
[&lt;c00341e8&gt;] (task_work_run) from [&lt;c001cc28&gt;] (do_exit+0x244/0x918)
[&lt;c001cc28&gt;] (do_exit) from [&lt;c001d344&gt;] (do_group_exit+0x48/0xdc)
[&lt;c001d344&gt;] (do_group_exit) from [&lt;c0029894&gt;] (get_signal_to_deliver+0x2a0/0x5bc)
[&lt;c0029894&gt;] (get_signal_to_deliver) from [&lt;c000b888&gt;] (do_signal+0x78/0x3a0)
[&lt;c000b888&gt;] (do_signal) from [&lt;c000bc54&gt;] (do_work_pending+0xa4/0xb4)
[&lt;c000bc54&gt;] (do_work_pending) from [&lt;c00096dc&gt;] (work_pending+0xc/0x20)
---[ end trace 5faa75e8c2f8a6a2 ]---

Signed-off-by: Lad, Prabhakar &lt;prabhakar.csengg@gmail.com&gt;
Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] media: davinci: vpbe: fix build warning</title>
<updated>2014-03-14T08:47:39Z</updated>
<author>
<name>Lad, Prabhakar</name>
</author>
<published>2014-03-14T05:25:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=17fd60fd503d3e7ae095ed75f5a1f1ed1a5d31c1'/>
<id>urn:sha1:17fd60fd503d3e7ae095ed75f5a1f1ed1a5d31c1</id>
<content type='text'>
this patch fixes following build warning
drivers/media/platform/davinci/vpbe_display.c: In function 'vpbe_start_streaming':
drivers/media/platform/davinci/vpbe_display.c:344: warning: unused variable 'vpbe_dev'

Signed-off-by: Lad, Prabhakar &lt;prabhakar.csengg@gmail.com&gt;
Acked-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] vb2: only call start_streaming if sufficient buffers are queued</title>
<updated>2014-03-11T09:56:41Z</updated>
<author>
<name>Hans Verkuil</name>
</author>
<published>2014-02-24T16:51:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b3379c6201bb3555298cdbf0aa004af260f2a6a4'/>
<id>urn:sha1:b3379c6201bb3555298cdbf0aa004af260f2a6a4</id>
<content type='text'>
In commit 02f142ecd24aaf891324ffba8527284c1731b561 support was added to
start_streaming to return -ENOBUFS if insufficient buffers were queued
for the DMA engine to start. The vb2 core would attempt calling
start_streaming again if another buffer would be queued up.

Later analysis uncovered problems with the queue management if start_streaming
would return an error: the buffers are enqueued to the driver before the
start_streaming op is called, so after an error they are never returned to
the vb2 core. The solution for this is to let the driver return them to
the vb2 core in case of an error while starting the DMA engine. However,
in the case of -ENOBUFS that would be weird: it is not a real error, it
just says that more buffers are needed. Requiring start_streaming to give
them back only to have them requeued again the next time the application
calls QBUF is inefficient.

This patch changes this mechanism: it adds a 'min_buffers_needed' field
to vb2_queue that drivers can set with the minimum number of buffers
required to start the DMA engine. The start_streaming op is only called
if enough buffers are queued. The -ENOBUFS handling has been dropped in
favor of this new method.

Drivers are expected to return buffers back to vb2 core with state QUEUED
if start_streaming would return an error. The vb2 core checks for this
and produces a warning if that didn't happen and it will forcefully
reclaim such buffers to ensure that the internal vb2 core state remains
consistent and all buffer-related resources have been correctly freed
and all op calls have been balanced.

__reqbufs() has been updated to check that at least min_buffers_needed
buffers could be allocated. If fewer buffers were allocated then __reqbufs
will free what was allocated and return -ENOMEM. Based on a suggestion from
Pawel Osciak.

__create_bufs() doesn't do that check, since the use of __create_bufs
assumes some advance scenario where the user might want more control.
Instead streamon will check if enough buffers were allocated to prevent
streaming with fewer than the minimum required number of buffers.

Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] v4l: Rename vb2_queue.timestamp_type as timestamp_flags</title>
<updated>2014-03-05T19:34:14Z</updated>
<author>
<name>Sakari Ailus</name>
</author>
<published>2014-02-25T22:12:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ade48681f132188599c5cefa8a3287c2a26fb738'/>
<id>urn:sha1:ade48681f132188599c5cefa8a3287c2a26fb738</id>
<content type='text'>
The timestamp_type field used to contain only the timestamp type. Soon it
will be used for timestamp source flags as well. Rename the field
accordingly.

[m.chehab@samsung.com: do the change also to drivers/staging/media and at s2255]
Signed-off-by: Sakari Ailus &lt;sakari.ailus@iki.fi&gt;
Acked-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] vb2: return ENOBUFS in start_streaming in case of too few buffers</title>
<updated>2014-01-07T09:13:49Z</updated>
<author>
<name>Hans Verkuil</name>
</author>
<published>2013-12-13T16:13:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=79aeb3f3083a8a795467eae429cb2d6faf482f32'/>
<id>urn:sha1:79aeb3f3083a8a795467eae429cb2d6faf482f32</id>
<content type='text'>
This works together with the retry_start_streaming mechanism to allow userspace
to start streaming even if not all required buffers have been queued.

Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Acked-by: Lad, Prabhakar &lt;prabhakar.csengg@gmail.com&gt;
Cc: Tomasz Stanislawski &lt;t.stanislaws@samsung.com&gt;
Cc: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Acked-by: Kamil Debski &lt;k.debski@samsung.com&gt;
Acked-by: Guennadi Liakhovetski &lt;g.liakhovetski@gmx.de&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] davinci: remove deprecated IRQF_DISABLED</title>
<updated>2013-10-03T17:11:18Z</updated>
<author>
<name>Michael Opdenacker</name>
</author>
<published>2013-09-09T02:30:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d8c279a00ba42f7face4bbf959c31d24e5e5baa4'/>
<id>urn:sha1:d8c279a00ba42f7face4bbf959c31d24e5e5baa4</id>
<content type='text'>
This patch proposes to remove the IRQF_DISABLED flag from
davinci media platform drivers.
It's a NOOP since 2.6.35 and it will be removed one day.

Signed-off-by: Michael Opdenacker &lt;michael.opdenacker@free-electrons.com&gt;
Acked-by: Lad, Prabhakar &lt;prabhakar.csengg@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] davinci: vpif_capture: fix error return code in vpif_probe()</title>
<updated>2013-10-03T17:04:35Z</updated>
<author>
<name>Wei Yongjun</name>
</author>
<published>2013-09-02T08:06:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2fcd9dc3114506c82744c581e0a4e7fcb5b28f08'/>
<id>urn:sha1:2fcd9dc3114506c82744c581e0a4e7fcb5b28f08</id>
<content type='text'>
Fix to return -ENODEV in the subdevice register error handling.

Signed-off-by: Wei Yongjun &lt;yongjun_wei@trendmicro.com.cn&gt;
Acked-by: Lad, Prabhakar &lt;prabhakar.csengg@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</content>
</entry>
</feed>
