<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/media, branch v3.15</title>
<subtitle>Clone of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git</subtitle>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/'/>
<entry>
<title>Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media</title>
<updated>2014-05-21T10:01:08+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-05-21T10:01:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=fba69f042ad99f68c0268ef1c012f3199f898fac'/>
<id>fba69f042ad99f68c0268ef1c012f3199f898fac</id>
<content type='text'>
Pull media fixes from Mauro Carvalho Chehab:
 "Most of the changes are drivers fixes (rtl28xuu, fc2580, ov7670,
  davinci, gspca, s5p-fimc and s5c73m3).

  There is also a compat32 fix and one infoleak fixup at the media
  controller"

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
  [media] V4L2: fix VIDIOC_CREATE_BUFS in 64- / 32-bit compatibility mode
  [media] V4L2: ov7670: fix a wrong index, potentially Oopsing the kernel from user-space
  [media] media-device: fix infoleak in ioctl media_enum_entities()
  [media] fc2580: fix tuning failure on 32-bit arch
  [media] Prefer gspca_sonixb over sn9c102 for all devices
  [media] media: davinci: vpfe: make sure all the buffers unmapped and released
  [media] staging: media: davinci: vpfe: make sure all the buffers are released
  [media] media: davinci: vpbe_display: fix releasing of active buffers
  [media] media: davinci: vpif_display: fix releasing of active buffers
  [media] media: davinci: vpif_capture: fix releasing of active buffers
  [media] s5p-fimc: Fix YUV422P depth
  [media] s5c73m3: Add missing rename of v4l2_of_get_next_endpoint() function
  [media] rtl28xxu: silence error log about disabled rtl2832_sdr module
  [media] rtl28xxu: do not hard depend on staging SDR module
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull media fixes from Mauro Carvalho Chehab:
 "Most of the changes are drivers fixes (rtl28xuu, fc2580, ov7670,
  davinci, gspca, s5p-fimc and s5c73m3).

  There is also a compat32 fix and one infoleak fixup at the media
  controller"

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
  [media] V4L2: fix VIDIOC_CREATE_BUFS in 64- / 32-bit compatibility mode
  [media] V4L2: ov7670: fix a wrong index, potentially Oopsing the kernel from user-space
  [media] media-device: fix infoleak in ioctl media_enum_entities()
  [media] fc2580: fix tuning failure on 32-bit arch
  [media] Prefer gspca_sonixb over sn9c102 for all devices
  [media] media: davinci: vpfe: make sure all the buffers unmapped and released
  [media] staging: media: davinci: vpfe: make sure all the buffers are released
  [media] media: davinci: vpbe_display: fix releasing of active buffers
  [media] media: davinci: vpif_display: fix releasing of active buffers
  [media] media: davinci: vpif_capture: fix releasing of active buffers
  [media] s5p-fimc: Fix YUV422P depth
  [media] s5c73m3: Add missing rename of v4l2_of_get_next_endpoint() function
  [media] rtl28xxu: silence error log about disabled rtl2832_sdr module
  [media] rtl28xxu: do not hard depend on staging SDR module
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] V4L2: fix VIDIOC_CREATE_BUFS in 64- / 32-bit compatibility mode</title>
<updated>2014-05-13T23:03:31+00:00</updated>
<author>
<name>Guennadi Liakhovetski</name>
<email>g.liakhovetski@gmx.de</email>
</author>
<published>2014-04-26T15:51:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=97d9d23dda6f37d90aefeec4ed619d52df525382'/>
<id>97d9d23dda6f37d90aefeec4ed619d52df525382</id>
<content type='text'>
If a struct contains 64-bit fields, it is aligned on 64-bit boundaries
within containing structs in 64-bit compilations. This is the case with
struct v4l2_window, which contains pointers and is embedded into struct
v4l2_format, and that one is embedded into struct v4l2_create_buffers.
Unlike some other structs, used as a part of the kernel ABI as ioctl()
arguments, that are packed, these structs aren't packed. This isn't a
problem per se, but the ioctl-compat code for VIDIOC_CREATE_BUFS contains
a bug, that triggers in such 64-bit builds. That code wrongly assumes,
that in struct v4l2_create_buffers, struct v4l2_format immediately follows
the __u32 memory field, which in fact isn't the case. This bug wasn't
visible until now, because until recently hardly any applications used
this ioctl() and mostly embedded 32-bit only drivers implemented it. This
is changing now with addition of this ioctl() to some USB drivers, e.g.
UVC. This patch fixes the bug by copying parts of struct
v4l2_create_buffers separately.

Signed-off-by: Guennadi Liakhovetski &lt;g.liakhovetski@gmx.de&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
Cc: stable@vger.kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If a struct contains 64-bit fields, it is aligned on 64-bit boundaries
within containing structs in 64-bit compilations. This is the case with
struct v4l2_window, which contains pointers and is embedded into struct
v4l2_format, and that one is embedded into struct v4l2_create_buffers.
Unlike some other structs, used as a part of the kernel ABI as ioctl()
arguments, that are packed, these structs aren't packed. This isn't a
problem per se, but the ioctl-compat code for VIDIOC_CREATE_BUFS contains
a bug, that triggers in such 64-bit builds. That code wrongly assumes,
that in struct v4l2_create_buffers, struct v4l2_format immediately follows
the __u32 memory field, which in fact isn't the case. This bug wasn't
visible until now, because until recently hardly any applications used
this ioctl() and mostly embedded 32-bit only drivers implemented it. This
is changing now with addition of this ioctl() to some USB drivers, e.g.
UVC. This patch fixes the bug by copying parts of struct
v4l2_create_buffers separately.

Signed-off-by: Guennadi Liakhovetski &lt;g.liakhovetski@gmx.de&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
Cc: stable@vger.kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] V4L2: ov7670: fix a wrong index, potentially Oopsing the kernel from user-space</title>
<updated>2014-05-13T23:03:02+00:00</updated>
<author>
<name>Guennadi Liakhovetski</name>
<email>g.liakhovetski@gmx.de</email>
</author>
<published>2014-04-14T13:49:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=cfece5857ca51d1dcdb157017aba226f594e9dcf'/>
<id>cfece5857ca51d1dcdb157017aba226f594e9dcf</id>
<content type='text'>
Commit 75e2bdad8901a0b599e01a96229be922eef1e488 "ov7670: allow
configuration of image size, clock speed, and I/O method" uses a wrong
index to iterate an array. Apart from being wrong, it also uses an
unchecked value from user-space, which can cause access to unmapped
memory in the kernel, triggered by a normal desktop user with rights to
use V4L2 devices.

Signed-off-by: Guennadi Liakhovetski &lt;g.liakhovetski@gmx.de&gt;
Acked-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit 75e2bdad8901a0b599e01a96229be922eef1e488 "ov7670: allow
configuration of image size, clock speed, and I/O method" uses a wrong
index to iterate an array. Apart from being wrong, it also uses an
unchecked value from user-space, which can cause access to unmapped
memory in the kernel, triggered by a normal desktop user with rights to
use V4L2 devices.

Signed-off-by: Guennadi Liakhovetski &lt;g.liakhovetski@gmx.de&gt;
Acked-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] media-device: fix infoleak in ioctl media_enum_entities()</title>
<updated>2014-05-01T12:53:28+00:00</updated>
<author>
<name>Salva Peiró</name>
<email>speiro@ai2.upv.es</email>
</author>
<published>2014-04-30T17:48:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=e6a623460e5fc960ac3ee9f946d3106233fd28d8'/>
<id>e6a623460e5fc960ac3ee9f946d3106233fd28d8</id>
<content type='text'>
This fixes CVE-2014-1739.

Signed-off-by: Salva Peiró &lt;speiro@ai2.upv.es&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes CVE-2014-1739.

Signed-off-by: Salva Peiró &lt;speiro@ai2.upv.es&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] fc2580: fix tuning failure on 32-bit arch</title>
<updated>2014-04-16T21:13:11+00:00</updated>
<author>
<name>Antti Palosaari</name>
<email>crope@iki.fi</email>
</author>
<published>2014-04-11T00:18:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=8845cc6415ec28ef8d57b3fb81c75ef9bce69c5f'/>
<id>8845cc6415ec28ef8d57b3fb81c75ef9bce69c5f</id>
<content type='text'>
There was some frequency calculation overflows which caused tuning
failure on 32-bit architecture. Use 64-bit numbers where needed in
order to avoid calculation overflows.

Thanks for the Finnish person, who asked remain anonymous, reporting,
testing and suggesting the fix.

Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Antti Palosaari &lt;crope@iki.fi&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There was some frequency calculation overflows which caused tuning
failure on 32-bit architecture. Use 64-bit numbers where needed in
order to avoid calculation overflows.

Thanks for the Finnish person, who asked remain anonymous, reporting,
testing and suggesting the fix.

Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Antti Palosaari &lt;crope@iki.fi&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>platform: Fix timberdale dependencies</title>
<updated>2014-04-16T06:27:27+00:00</updated>
<author>
<name>Jean Delvare</name>
<email>jdelvare@suse.de</email>
</author>
<published>2014-04-03T09:32:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=2dda47d1a416750bf69eb11dd9b6607d18287b0c'/>
<id>2dda47d1a416750bf69eb11dd9b6607d18287b0c</id>
<content type='text'>
VIDEO_TIMBERDALE selects TIMB_DMA which itself depends on
MFD_TIMBERDALE, so VIDEO_TIMBERDALE should either select or depend on
MFD_TIMBERDALE as well. I chose to make it depend on it because I
think it makes more sense and it is consistent with what other options
are doing.

Adding a "|| HAS_IOMEM" to the TIMB_DMA dependencies silenced the
kconfig warning about unmet direct dependencies but it was wrong:
without MFD_TIMBERDALE, TIMB_DMA is useless as the driver has no
device to bind to.

Signed-off-by: Jean Delvare &lt;jdelvare@suse.de&gt;
Cc: Vinod Koul &lt;vinod.koul@intel.com&gt;
Cc: Dan Williams &lt;dan.j.williams@intel.com&gt;
Cc: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
VIDEO_TIMBERDALE selects TIMB_DMA which itself depends on
MFD_TIMBERDALE, so VIDEO_TIMBERDALE should either select or depend on
MFD_TIMBERDALE as well. I chose to make it depend on it because I
think it makes more sense and it is consistent with what other options
are doing.

Adding a "|| HAS_IOMEM" to the TIMB_DMA dependencies silenced the
kconfig warning about unmet direct dependencies but it was wrong:
without MFD_TIMBERDALE, TIMB_DMA is useless as the driver has no
device to bind to.

Signed-off-by: Jean Delvare &lt;jdelvare@suse.de&gt;
Cc: Vinod Koul &lt;vinod.koul@intel.com&gt;
Cc: Dan Williams &lt;dan.j.williams@intel.com&gt;
Cc: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] Prefer gspca_sonixb over sn9c102 for all devices</title>
<updated>2014-04-15T12:59:31+00:00</updated>
<author>
<name>Jean Delvare</name>
<email>jdelvare@suse.de</email>
</author>
<published>2014-04-11T07:15:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=877ed143065c3b823cfe54b5a695c6be3659e445'/>
<id>877ed143065c3b823cfe54b5a695c6be3659e445</id>
<content type='text'>
The sn9c102 driver is deprecated. It was moved to staging in
anticipation of its removal in a future kernel version. However, USB
devices 0C45:6024 and 0C45:6025 are still handled by sn9c102 when
both sn9c102 and gspca_sonixb are enabled.

We must migrate all the users of these devices to the gspca_sonixb
driver now, so that it gets sufficient testing before the sn9c102
driver is finally phased out.

Signed-off-by: Jean Delvare &lt;jdelvare@suse.de&gt;
Acked-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Acked-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The sn9c102 driver is deprecated. It was moved to staging in
anticipation of its removal in a future kernel version. However, USB
devices 0C45:6024 and 0C45:6025 are still handled by sn9c102 when
both sn9c102 and gspca_sonixb are enabled.

We must migrate all the users of these devices to the gspca_sonixb
driver now, so that it gets sufficient testing before the sn9c102
driver is finally phased out.

Signed-off-by: Jean Delvare &lt;jdelvare@suse.de&gt;
Acked-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Acked-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] media: davinci: vpfe: make sure all the buffers unmapped and released</title>
<updated>2014-04-15T12:54:38+00:00</updated>
<author>
<name>Lad, Prabhakar</name>
<email>prabhakar.csengg@gmail.com</email>
</author>
<published>2014-03-23T05:44:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=c1d1e40b8bbd712d6a8c74d8278178c8448b7abc'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] media: davinci: vpbe_display: fix releasing of active buffers</title>
<updated>2014-04-15T12:50:56+00:00</updated>
<author>
<name>Lad, Prabhakar</name>
<email>prabhakar.csengg@gmail.com</email>
</author>
<published>2014-03-22T11:03:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=b699f09d0d003cc1622aec30d81f3158da6790aa'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] media: davinci: vpif_display: fix releasing of active buffers</title>
<updated>2014-04-15T12:50:46+00:00</updated>
<author>
<name>Lad, Prabhakar</name>
<email>prabhakar.csengg@gmail.com</email>
</author>
<published>2014-03-22T11:03:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=18c7adcf2c1abf7f554a52f57bee126995791748'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
</feed>
