aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/radio
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2011-11-16 05:14:03 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-11-24 18:22:22 -0200
commitbd93b3ad275501f50935a420cb26f598093d91a0 (patch)
treee92df5e4b4adf9e1330f76e062ae554ed8aac44d /drivers/media/radio
parent[media] staging: lirc_serial: Do not assume error codes returned by request_irq() (diff)
downloadlinux-dev-bd93b3ad275501f50935a420cb26f598093d91a0.tar.xz
linux-dev-bd93b3ad275501f50935a420cb26f598093d91a0.zip
[media] media/radio/tef6862: fix checking return value of i2c_master_send
i2c_master_send returns negative errno, or else the number of bytes written. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/radio')
-rw-r--r--drivers/media/radio/tef6862.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/media/radio/tef6862.c b/drivers/media/radio/tef6862.c
index 0991e1973678..3408685b690c 100644
--- a/drivers/media/radio/tef6862.c
+++ b/drivers/media/radio/tef6862.c
@@ -118,9 +118,11 @@ static int tef6862_s_frequency(struct v4l2_subdev *sd, struct v4l2_frequency *f)
i2cmsg[2] = pll & 0xff;
err = i2c_master_send(client, i2cmsg, sizeof(i2cmsg));
- if (!err)
- state->freq = f->frequency;
- return err;
+ if (err != sizeof(i2cmsg))
+ return err < 0 ? err : -EIO;
+
+ state->freq = f->frequency;
+ return 0;
}
static int tef6862_g_frequency(struct v4l2_subdev *sd, struct v4l2_frequency *f)