i2c: qcom-cci: don't delete an unregistered adapter
authorVladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Thu, 3 Feb 2022 16:47:00 +0000 (18:47 +0200)
committerWolfram Sang <wsa@kernel.org>
Fri, 11 Feb 2022 17:42:33 +0000 (18:42 +0100)
If i2c_add_adapter() fails to add an I2C adapter found on QCOM CCI
controller, on error path i2c_del_adapter() is still called.

Fortunately there is a sanity check in the I2C core, so the only
visible implication is a printed debug level message:

    i2c-core: attempting to delete unregistered adapter [Qualcomm-CCI]

Nevertheless it would be reasonable to correct the probe error path.

Fixes: e517526195de ("i2c: Add Qualcomm CCI I2C driver")
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Reviewed-by: Robert Foss <robert.foss@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-qcom-cci.c

index c1de8eb..fd4260d 100644 (file)
@@ -655,7 +655,7 @@ static int cci_probe(struct platform_device *pdev)
        return 0;
 
 error_i2c:
-       for (; i >= 0; i--) {
+       for (--i ; i >= 0; i--) {
                if (cci->master[i].cci)
                        i2c_del_adapter(&cci->master[i].adap);
        }