Hi, baruch I found a mutex lock in dw_i2c_dev for each adapter, struct dw_i2c_dev { struct device *dev; void __iomem *base; struct completion cmd_complete; struct mutex lock; struct clk *clk; but there is another lock: adapter->bus_lock, this lock is also for each adapter, why we need both of them ? Regards, Rongrong -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html