Messages in this thread Patch in this message | | | Subject | [PATCH] [media] media/radio/tef6862: fix checking return value of i2c_master_send | From | Axel Lin <> | Date | Wed, 16 Nov 2011 17:14:03 +0800 |
| |
i2c_master_send returns negative errno, or else the number of bytes written.
Signed-off-by: Axel Lin <axel.lin@gmail.com> --- 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) -- 1.7.5.4
| |