]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 11 Dec 2020 12:39:06 +0000 (13:39 +0100)
commit e9acf0298c664f825e6f1158f2a97341bf9e03ca upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/i2c/busses/i2c-qup.c

index 8f6903ec7aec187fac187b023b37faa248a6aba9..6dd6a5542ce5625c3b9fe6443e12170379978533 100644 (file)
@@ -846,7 +846,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) {
                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;
                }