diff options
author | Elie De Brauwer <eliedebrauwer@gmail.com> | 2013-12-09 19:48:28 +0100 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2013-12-12 22:39:28 +0100 |
commit | 2212a8529eb06c559256f0cee41c1f14890d54d3 (patch) | |
tree | 7c30ba6e96646702703d1aecddb28cb4c4c302a1 /drivers/i2c/i2c-mux.c | |
parent | 374b105797c3d4f29c685f3be535c35f5689b30e (diff) | |
download | linux-2212a8529eb06c559256f0cee41c1f14890d54d3.tar.gz linux-2212a8529eb06c559256f0cee41c1f14890d54d3.tar.bz2 linux-2212a8529eb06c559256f0cee41c1f14890d54d3.zip |
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 <eliedebrauwer@gmail.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'drivers/i2c/i2c-mux.c')
-rw-r--r-- | drivers/i2c/i2c-mux.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/i2c/i2c-mux.c b/drivers/i2c/i2c-mux.c index 797e3117bef7..2d0847b6be62 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) |