|
@@ -226,7 +226,6 @@ static void i2c_imx_stop(struct imx_i2c_struct *i2c_imx)
|
|
|
temp = readb(i2c_imx->base + IMX_I2C_I2CR);
|
|
|
temp &= ~(I2CR_MSTA | I2CR_MTX);
|
|
|
writeb(temp, i2c_imx->base + IMX_I2C_I2CR);
|
|
|
- i2c_imx->stopped = 1;
|
|
|
}
|
|
|
if (cpu_is_mx1()) {
|
|
|
/*
|
|
@@ -236,8 +235,10 @@ static void i2c_imx_stop(struct imx_i2c_struct *i2c_imx)
|
|
|
udelay(i2c_imx->disable_delay);
|
|
|
}
|
|
|
|
|
|
- if (!i2c_imx->stopped)
|
|
|
+ if (!i2c_imx->stopped) {
|
|
|
i2c_imx_bus_busy(i2c_imx, 0);
|
|
|
+ i2c_imx->stopped = 1;
|
|
|
+ }
|
|
|
|
|
|
/* Disable I2C controller */
|
|
|
writeb(0, i2c_imx->base + IMX_I2C_I2CR);
|