On Fri, Apr 04, 2014 at 08:05:23PM +0300, Du, Wenkai wrote: > diff --git a/drivers/i2c/busses/i2c-designware-core.c b/drivers/i2c/busses/i2c-designware-core.c > index 14c4b30..71a3fa9 100644 > --- a/drivers/i2c/busses/i2c-designware-core.c > +++ b/drivers/i2c/busses/i2c-designware-core.c > @@ -417,6 +417,9 @@ static void i2c_dw_xfer_init(struct dw_i2c_dev *dev) > */ > dw_writel(dev, msgs[dev->msg_write_idx].addr | ic_tar, DW_IC_TAR); > > + /* disable interrupts */ > + i2c_dw_disable_int(dev); > + Please move this to i2c_dw_init() as I previously commented. This can only happen once the controller comes out of reset (either boot, or resume from system sleep). > /* Enable the adapter */ > __i2c_dw_enable(dev, true); > > -- > 1.7.9.5 -- 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