]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
i2c: rk3x: report number of messages transmitted
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 20 Apr 2015 22:14:47 +0000 (15:14 -0700)
committerLuis Henriques <luis.henriques@canonical.com>
Wed, 6 May 2015 09:36:19 +0000 (10:36 +0100)
commit c6cbfb91b878224e78408a2e15901c79de77115a upstream.

master_xfer() method should return number of i2c messages transferred,
but on Rockchip we were usually returning just 1, which caused trouble
with users that actually check number of transferred messages vs.
checking for negative error codes.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
drivers/i2c/busses/i2c-rk3x.c

index b38b0529946a1ca1c0e463f4a25e5cbbf021f329..f8e9a8b06d881feddf181f20d3cc39057d86b64a 100644 (file)
@@ -588,7 +588,7 @@ static int rk3x_i2c_xfer(struct i2c_adapter *adap,
        clk_disable(i2c->clk);
        spin_unlock_irqrestore(&i2c->lock, flags);
 
-       return ret;
+       return ret < 0 ? ret : num;
 }
 
 static u32 rk3x_i2c_func(struct i2c_adapter *adap)