[media] wl128x: fix compiler warning + wrong write() return
authorHans Verkuil <hans.verkuil@cisco.com>
Thu, 25 Aug 2011 12:43:49 +0000 (09:43 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 6 Sep 2011 17:39:10 +0000 (14:39 -0300)
The fix is to check for ret and return -EFAULT if non-zero.

I also noticed that write() didn't return the number of bytes written.
Fixed as well.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/radio/wl128x/fmdrv_v4l2.c

index 8c0e19276970543490fa02b07209825c897e2828..478d1e93ada6f51e7cf2845b33f0cddf4c83b595 100644 (file)
@@ -84,12 +84,14 @@ static ssize_t fm_v4l2_fops_write(struct file *file, const char __user * buf,
        ret = copy_from_user(&rds, buf, sizeof(rds));
        fmdbg("(%d)type: %d, text %s, af %d\n",
                   ret, rds.text_type, rds.text, rds.af_freq);
+       if (ret)
+               return -EFAULT;
 
        fmdev = video_drvdata(file);
        fm_tx_set_radio_text(fmdev, rds.text, rds.text_type);
        fm_tx_set_af(fmdev, rds.af_freq);
 
-       return 0;
+       return sizeof(rds);
 }
 
 static u32 fm_v4l2_fops_poll(struct file *file, struct poll_table_struct *pts)