The patch number 11329 was added via Mauro Carvalho Chehab <mche...@redhat.com>
to http://linuxtv.org/hg/v4l-dvb master development tree.

Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel

If anyone has any objections, please let us know by sending a message to:
        Linux Media Mailing List <linux-me...@vger.kernel.org>

------

From: Russell King  <r...@arm.linux.org.uk>
Fix buglets in v4l1 compatibility layer


The following patch fixes a few bugs I've noticed in the V4L1
compatibility layer:
- VIDEO_MODE_AUTO for get/set input ioctls was not being handled
- wrong V4L2 ioctl being used in v4l1_compat_select_tuner

Signed-off-by: Russell King <rmk+ker...@arm.linux.org.uk>
Signed-off-by: Mauro Carvalho Chehab <mche...@redhat.com>


---

 linux/drivers/media/video/v4l1-compat.c |   11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff -r 27e90b9d622c -r 3bee603ef397 linux/drivers/media/video/v4l1-compat.c
--- a/linux/drivers/media/video/v4l1-compat.c   Sun Mar 29 02:36:18 2009 +0000
+++ b/linux/drivers/media/video/v4l1-compat.c   Sun Mar 29 11:12:27 2009 +0000
@@ -576,6 +576,8 @@ static noinline long v4l1_compat_get_inp
                        chan->norm = VIDEO_MODE_NTSC;
                if (sid & V4L2_STD_SECAM)
                        chan->norm = VIDEO_MODE_SECAM;
+               if (sid == V4L2_STD_ALL)
+                       chan->norm = VIDEO_MODE_AUTO;
        }
 done:
        return err;
@@ -601,6 +603,9 @@ static noinline long v4l1_compat_set_inp
                break;
        case VIDEO_MODE_SECAM:
                sid = V4L2_STD_SECAM;
+               break;
+       case VIDEO_MODE_AUTO:
+               sid = V4L2_STD_ALL;
                break;
        }
        if (0 != sid) {
@@ -805,9 +810,9 @@ static noinline long v4l1_compat_select_
 
        t.index = tun->tuner;
 
-       err = drv(file, VIDIOC_S_INPUT, &t);
-       if (err < 0)
-               dprintk("VIDIOCSTUNER / VIDIOC_S_INPUT: %ld\n", err);
+       err = drv(file, VIDIOC_S_TUNER, &t);
+       if (err < 0)
+               dprintk("VIDIOCSTUNER / VIDIOC_S_TUNER: %ld\n", err);
        return err;
 }
 


---

Patch is available at: 
http://linuxtv.org/hg/v4l-dvb/rev/3bee603ef3973f84481753ab77e8e00b1273a18b

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to