diff options
-rw-r--r-- | drivers/i2c/i2c-atr.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/i2c/i2c-atr.c b/drivers/i2c/i2c-atr.c index 5353de8d3c2e..f3fd52588e42 100644 --- a/drivers/i2c/i2c-atr.c +++ b/drivers/i2c/i2c-atr.c @@ -543,6 +543,9 @@ static int i2c_atr_attach_addr(struct i2c_adapter *adapter, mutex_lock(&chan->alias_pairs_lock); c2a = i2c_atr_create_mapping_by_addr(chan, addr); + if (!c2a) + c2a = i2c_atr_replace_mapping_by_addr(chan, addr); + if (!c2a) { dev_err(atr->dev, "failed to find a free alias\n"); ret = -EBUSY; |