|
@@ -580,14 +580,13 @@ i2c_dw_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
|
|
i2c_dw_xfer_init(dev);
|
|
i2c_dw_xfer_init(dev);
|
|
|
|
|
|
/* wait for tx to complete */
|
|
/* wait for tx to complete */
|
|
- ret = wait_for_completion_interruptible_timeout(&dev->cmd_complete, HZ);
|
|
|
|
|
|
+ ret = wait_for_completion_timeout(&dev->cmd_complete, HZ);
|
|
if (ret == 0) {
|
|
if (ret == 0) {
|
|
dev_err(dev->dev, "controller timed out\n");
|
|
dev_err(dev->dev, "controller timed out\n");
|
|
i2c_dw_init(dev);
|
|
i2c_dw_init(dev);
|
|
ret = -ETIMEDOUT;
|
|
ret = -ETIMEDOUT;
|
|
goto done;
|
|
goto done;
|
|
- } else if (ret < 0)
|
|
|
|
- goto done;
|
|
|
|
|
|
+ }
|
|
|
|
|
|
if (dev->msg_err) {
|
|
if (dev->msg_err) {
|
|
ret = dev->msg_err;
|
|
ret = dev->msg_err;
|