Make sure that in case of I2C error (e.g. while scan for non-existing
I2C device) hardware is reset properly.
Signed-off-by: Dirk Behme <[EMAIL PROTECTED]>
Index: linux-davinci/drivers/i2c/busses/i2c-davinci.c
===================================================================
--- linux-davinci.orig/drivers/i2c/busses/i2c-davinci.c
+++ linux-davinci/drivers/i2c/busses/i2c-davinci.c
@@ -349,6 +349,10 @@ i2c_davinci_xfer_msg(struct i2c_adapter
MOD_REG_BIT(w, DAVINCI_I2C_MDR_STP, 1);
davinci_i2c_write_reg(dev, DAVINCI_I2C_MDR_REG, w);
}
+
+ set_current_state(TASK_UNINTERRUPTIBLE);
+ schedule_timeout(2);
+ i2c_davinci_init(dev);
return -EREMOTEIO;
}
return -EIO;
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source