i2c: mux: make use of __i2c_smbus_xfer
authorPeter Rosin <peda@axentia.se>
Wed, 20 Jun 2018 08:51:57 +0000 (10:51 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Tue, 3 Jul 2018 20:57:55 +0000 (22:57 +0200)
Calling the __i2c_smbus_xfer wrapper in __i2c_mux_smbus_xfer provides
retries and thus makes the parent-locked case consistent with the both
mux-locked (i2c_mux_smbus_xfer) and the I2C transfer cases.

Signed-off-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/i2c-mux.c

index 300ab4b..221365e 100644 (file)
@@ -87,8 +87,8 @@ static int __i2c_mux_smbus_xfer(struct i2c_adapter *adap,
 
        ret = muxc->select(muxc, priv->chan_id);
        if (ret >= 0)
-               ret = parent->algo->smbus_xfer(parent, addr, flags,
-                                       read_write, command, size, data);
+               ret = __i2c_smbus_xfer(parent, addr, flags,
+                                      read_write, command, size, data);
        if (muxc->deselect)
                muxc->deselect(muxc, priv->chan_id);