linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / media / dvb / ttpci / av7110_v4l.c
index 603a22e..94cf38c 100644 (file)
@@ -369,11 +369,6 @@ static int av7110_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
                        fm_matrix = 0x3001; // stereo
                        src = 0x0020;
                        break;
-               case V4L2_TUNER_MODE_LANG1_LANG2:
-                       dprintk(2, "VIDIOC_S_TUNER: V4L2_TUNER_MODE_LANG1_LANG2\n");
-                       fm_matrix = 0x3000; // bilingual
-                       src = 0x0020;
-                       break;
                case V4L2_TUNER_MODE_LANG1:
                        dprintk(2, "VIDIOC_S_TUNER: V4L2_TUNER_MODE_LANG1\n");
                        fm_matrix = 0x3000; // mono
@@ -584,11 +579,14 @@ static ssize_t av7110_vbi_write(struct file *file, const char __user *data, size
                return -EFAULT;
        if ((d.id != 0 && d.id != V4L2_SLICED_WSS_625) || d.field != 0 || d.line != 23)
                return -EINVAL;
-       if (d.id)
+       if (d.id) {
                av7110->wssData = ((d.data[1] << 8) & 0x3f00) | d.data[0];
-       else
-               av7110->wssData = 0x8000;
-       rc = av7110_fw_cmd(av7110, COMTYPE_ENCODER, SetWSSConfig, 2, 1, av7110->wssData);
+               rc = av7110_fw_cmd(av7110, COMTYPE_ENCODER, SetWSSConfig,
+                                  2, 1, av7110->wssData);
+       } else {
+               av7110->wssData = 0;
+               rc = av7110_fw_cmd(av7110, COMTYPE_ENCODER, SetWSSConfig, 1, 0);
+       }
        return (rc < 0) ? rc : count;
 }