|
@@ -357,9 +357,6 @@ i2c_davinci_xfer_msg(struct i2c_adapter *adap, struct i2c_msg *msg, int stop)
|
|
|
|
|
|
dev->terminate = 0;
|
|
|
|
|
|
- /* write the data into mode register */
|
|
|
- davinci_i2c_write_reg(dev, DAVINCI_I2C_MDR_REG, flag);
|
|
|
-
|
|
|
/*
|
|
|
* First byte should be set here, not after interrupt,
|
|
|
* because transmit-data-ready interrupt can come before
|
|
@@ -371,6 +368,9 @@ i2c_davinci_xfer_msg(struct i2c_adapter *adap, struct i2c_msg *msg, int stop)
|
|
|
dev->buf_len--;
|
|
|
}
|
|
|
|
|
|
+ /* write the data into mode register; start transmitting */
|
|
|
+ davinci_i2c_write_reg(dev, DAVINCI_I2C_MDR_REG, flag);
|
|
|
+
|
|
|
r = wait_for_completion_interruptible_timeout(&dev->cmd_complete,
|
|
|
dev->adapter.timeout);
|
|
|
if (r == 0) {
|