V4L/DVB (9152): radio-zoltrix: Add checking for frequency
authorAlexey Klimov <klimov.linux@gmail.com>
Thu, 9 Oct 2008 16:46:59 +0000 (13:46 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 13 Oct 2008 09:16:10 +0000 (07:16 -0200)
This patch adds printk messages, adds checking if frequency is set,
adds return -EINVAL in right places in zoltrix-radio.

Signed-off-by: Alexey Klimov <klimov.linux@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/radio/radio-zoltrix.c

index f75da63b16345f7957af152a93f7c690d1f77da7..15b10bad679660efa22b59bc3d70f161841c07f0 100644 (file)
@@ -123,8 +123,11 @@ static int zol_setfreq(struct zol_device *dev, unsigned long freq)
        unsigned int stereo = dev->stereo;
        int i;
 
-       if (freq == 0)
-               return 1;
+       if (freq == 0) {
+               printk(KERN_WARNING "zoltrix: received zero freq. Failed to set.\n");
+               return -EINVAL;
+       }
+
        m = (freq / 160 - 8800) * 2;
        f = (unsigned long long) m + 0x4d1c;
 
@@ -279,7 +282,10 @@ static int vidioc_s_frequency(struct file *file, void *priv,
        struct zol_device *zol = video_drvdata(file);
 
        zol->curfreq = f->frequency;
-       zol_setfreq(zol, zol->curfreq);
+       if (zol_setfreq(zol, zol->curfreq) != 0) {
+               printk(KERN_WARNING "zoltrix: Set frequency failed.\n");
+               return -EINVAL;
+       }
        return 0;
 }
 
@@ -343,7 +349,10 @@ static int vidioc_s_ctrl(struct file *file, void *priv,
                return 0;
        }
        zol->stereo = 1;
-       zol_setfreq(zol, zol->curfreq);
+       if (zol_setfreq(zol, zol->curfreq) != 0) {
+               printk(KERN_WARNING "zoltrix: Set frequency failed.\n");
+               return -EINVAL;
+       }
 #if 0
 /* FIXME: Implement stereo/mono switch on V4L2 */
                        if (v->mode & VIDEO_SOUND_STEREO) {