From: Elie De Brauwer Date: Mon, 9 Dec 2013 18:48:28 +0000 (+0100) Subject: i2c: mux: Inherit retry count and timeout from parent for muxed bus X-Git-Tag: v4.9.8~7268^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2212a8529eb06c559256f0cee41c1f14890d54d3;p=platform%2Fkernel%2Flinux-rpi3.git i2c: mux: Inherit retry count and timeout from parent for muxed bus If a muxed i2c bus gets created the default retry count and timeout of the muxed bus is zero. Hence it it possible that you end up with a situation where the parent controller sets a default retry count and timeout which gets applied and used while the muxed bus (using the same controller) has a default retry count of zero and a default timeout of 1s (set in i2c_add_adapter()). This can be solved by initializing the retry count and timeout of the muxed bus with the values used by the the parent at creation time. Signed-off-by: Elie De Brauwer Signed-off-by: Wolfram Sang --- diff --git a/drivers/i2c/i2c-mux.c b/drivers/i2c/i2c-mux.c index 797e311..2d0847b 100644 --- a/drivers/i2c/i2c-mux.c +++ b/drivers/i2c/i2c-mux.c @@ -139,6 +139,8 @@ struct i2c_adapter *i2c_add_mux_adapter(struct i2c_adapter *parent, priv->adap.algo = &priv->algo; priv->adap.algo_data = priv; priv->adap.dev.parent = &parent->dev; + priv->adap.retries = parent->retries; + priv->adap.timeout = parent->timeout; /* Sanity check on class */ if (i2c_mux_parent_classes(parent) & class)