|
@@ -835,6 +835,8 @@ static int qup_i2c_bam_do_xfer(struct qup_i2c_dev *qup, struct i2c_msg *msg,
|
|
}
|
|
}
|
|
|
|
|
|
if (ret || qup->bus_err || qup->qup_err) {
|
|
if (ret || qup->bus_err || qup->qup_err) {
|
|
|
|
+ reinit_completion(&qup->xfer);
|
|
|
|
+
|
|
if (qup_i2c_change_state(qup, QUP_RUN_STATE)) {
|
|
if (qup_i2c_change_state(qup, QUP_RUN_STATE)) {
|
|
dev_err(qup->dev, "change to run state timed out");
|
|
dev_err(qup->dev, "change to run state timed out");
|
|
goto desc_err;
|
|
goto desc_err;
|