diff options
Diffstat (limited to 'drivers/i2c/i2c-mux.c')
| -rw-r--r-- | drivers/i2c/i2c-mux.c | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/drivers/i2c/i2c-mux.c b/drivers/i2c/i2c-mux.c index f330690b4125..603252fa1284 100644 --- a/drivers/i2c/i2c-mux.c +++ b/drivers/i2c/i2c-mux.c @@ -310,12 +310,18 @@ int i2c_mux_add_adapter(struct i2c_mux_core *muxc,  		else  			priv->algo.master_xfer = __i2c_mux_master_xfer;  	} +	if (parent->algo->master_xfer_atomic) +		priv->algo.master_xfer_atomic = priv->algo.master_xfer; +  	if (parent->algo->smbus_xfer) {  		if (muxc->mux_locked)  			priv->algo.smbus_xfer = i2c_mux_smbus_xfer;  		else  			priv->algo.smbus_xfer = __i2c_mux_smbus_xfer;  	} +	if (parent->algo->smbus_xfer_atomic) +		priv->algo.smbus_xfer_atomic = priv->algo.smbus_xfer; +  	priv->algo.functionality = i2c_mux_functionality;  	/* Now fill out new adapter structure */ | 
