]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
add v4l ivtv sg_init_table patch
authorChris Wright <chrisw@sous-sol.org>
Tue, 25 Mar 2008 06:09:06 +0000 (23:09 -0700)
committerChris Wright <chrisw@sous-sol.org>
Tue, 25 Mar 2008 06:09:06 +0000 (23:09 -0700)
queue-2.6.24/series
queue-2.6.24/v4l-ivtv-add-missing-sg_init_table.patch [new file with mode: 0644]

index 9b505481ca0afa9cb237875df78d9b982c58e36d..bb0e0b2dd3f6f3aab2f63e8573e3f9e767fe90c4 100644 (file)
@@ -2,3 +2,4 @@ time-prevent-the-loop-in-timespec_add_ns-from-being-optimised-away.patch
 kbuild-soften-modpost-checks-when-doing-cross-builds.patch
 mtd-memory-corruption-in-block2mtd.c.patch
 md-remove-the-super-sysfs-attribute-from-devices-in-an-md-array.patch
+v4l-ivtv-add-missing-sg_init_table.patch
diff --git a/queue-2.6.24/v4l-ivtv-add-missing-sg_init_table.patch b/queue-2.6.24/v4l-ivtv-add-missing-sg_init_table.patch
new file mode 100644 (file)
index 0000000..969cb7e
--- /dev/null
@@ -0,0 +1,37 @@
+From stable-bounces@linux.kernel.org  Mon Mar 24 23:06:39 2008
+Message-ID: <47E56506.8070807@infradead.org>
+Date: Sat, 22 Mar 2008 15:59:02 -0400
+From: Michael Krufky <mkrufky@infradead.org>
+To: stable@kernel.org
+Cc: hverkuil@xs4all.nl, v4l-dvb maintainer list <v4l-dvb-maintainer@linuxtv.org>, ian@iarmst.demon.co.uk, linux-kernel@vger.kernel.org, mchehab@infradead.org
+Subject: V4L: ivtv: Add missing sg_init_table()
+
+From: Ian Armstrong <ian@iarmst.demon.co.uk>
+
+upstream commit: 165e1213e13b49761f8b3fd9314701f83cf3db3a
+
+If a dma transfer is attempted for either yuv or framebuffer output, a
+missing sg_init_table() call causes a kernel BUG in scatterlist.h if
+CONFIG_DEBUG_SG is set.
+
+Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
+Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
+Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+ drivers/media/video/ivtv/ivtv-driver.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/media/video/ivtv/ivtv-driver.c
++++ b/drivers/media/video/ivtv/ivtv-driver.c
+@@ -687,6 +687,9 @@ static int __devinit ivtv_init_struct1(s
+       itv->vbi.in.type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE;
+       itv->vbi.sliced_in = &itv->vbi.in.fmt.sliced;
++      /* Init the sg table for osd/yuv output */
++      sg_init_table(itv->udma.SGlist, IVTV_DMA_SG_OSD_ENT);
++
+       /* OSD */
+       itv->osd_global_alpha_state = 1;
+       itv->osd_global_alpha = 255;