]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mfd: htc-i2cpld: Add the missed i2c_put_adapter() in htcpld_register_chip_i2c()
authorJing Xiangfeng <jingxiangfeng@huawei.com>
Fri, 6 Nov 2020 07:43:46 +0000 (15:43 +0800)
committerLee Jones <lee.jones@linaro.org>
Thu, 19 Nov 2020 08:34:22 +0000 (08:34 +0000)
htcpld_register_chip_i2c() misses to call i2c_put_adapter() in an error
path. Add the missed function call to fix it.

Fixes: 6048a3dd2371 ("mfd: Add HTCPLD driver")
Signed-off-by: Jing Xiangfeng <jingxiangfeng@huawei.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/htc-i2cpld.c

index 247f9849e54ae88864ea094c403f885584bb6b68..417b0355d904d43be8c2a32047f8f21659a3157d 100644 (file)
@@ -346,6 +346,7 @@ static int htcpld_register_chip_i2c(
        if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_READ_BYTE_DATA)) {
                dev_warn(dev, "i2c adapter %d non-functional\n",
                         pdata->i2c_adapter_id);
+               i2c_put_adapter(adapter);
                return -EINVAL;
        }
 
@@ -360,6 +361,7 @@ static int htcpld_register_chip_i2c(
                /* I2C device registration failed, contineu with the next */
                dev_warn(dev, "Unable to add I2C device for 0x%x\n",
                         plat_chip_data->addr);
+               i2c_put_adapter(adapter);
                return PTR_ERR(client);
        }