diff options
author | Axel Lin <axel.lin@gmail.com> | 2011-11-16 08:14:03 (GMT) |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-11-24 20:22:22 (GMT) |
commit | bd93b3ad275501f50935a420cb26f598093d91a0 (patch) | |
tree | e92df5e4b4adf9e1330f76e062ae554ed8aac44d /drivers/media/radio/tef6862.c | |
parent | affc9a0d59ac49bd304e2137bd5e4ffdd6fdfa52 (diff) | |
download | linux-fsl-qoriq-bd93b3ad275501f50935a420cb26f598093d91a0.tar.xz |
[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/tef6862.c')
-rw-r--r-- | drivers/media/radio/tef6862.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/media/radio/tef6862.c b/drivers/media/radio/tef6862.c index 0991e19..3408685 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) |