i2c: qup: Fix error return code in qup_i2c_bam_schedule_desc()
authorZhihao Cheng <chengzhihao1@huawei.com>
Mon, 16 Nov 2020 14:10:58 +0000 (22:10 +0800)
committerWolfram Sang <wsa@kernel.org>
Wed, 2 Dec 2020 15:42:09 +0000 (16:42 +0100)
Fix to return the error code from qup_i2c_change_state()
instaed of 0 in qup_i2c_bam_schedule_desc().

Fixes: fbf9921f8b35d9b2 ("i2c: qup: Fix error handling")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-qup.c

index fbc04b6..5a47915 100644 (file)
@@ -801,7 +801,8 @@ static int qup_i2c_bam_schedule_desc(struct qup_i2c_dev *qup)
        if (ret || qup->bus_err || qup->qup_err) {
                reinit_completion(&qup->xfer);
 
-               if (qup_i2c_change_state(qup, QUP_RUN_STATE)) {
+               ret = qup_i2c_change_state(qup, QUP_RUN_STATE);
+               if (ret) {
                        dev_err(qup->dev, "change to run state timed out");
                        goto desc_err;
                }