i2c_master_send returns negative errno, or else the number of bytes written.

Signed-off-by: Axel Lin <axel....@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



--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to