]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe
authorHui Tang <tanghui20@huawei.com>
Mon, 14 Nov 2022 09:25:40 +0000 (17:25 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 7 Jan 2023 11:07:26 +0000 (12:07 +0100)
[ Upstream commit d78a167332e1ca8113268ed922c1212fd71b73ad ]

Using pcim_enable_device() to avoid missing pci_disable_device().

Fixes: 7e94dd154e93 ("i2c-pxa2xx: Add PCI support for PXA I2C controller")
Signed-off-by: Hui Tang <tanghui20@huawei.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/i2c/busses/i2c-pxa-pci.c

index 417464e9ea2a7198cb0d0d89f4422ee761915c75..3113b06b4fc10febcdad45e38e5c43d6c1aed75c 100644 (file)
@@ -101,7 +101,7 @@ static int ce4100_i2c_probe(struct pci_dev *dev,
        int i;
        struct ce4100_devices *sds;
 
-       ret = pci_enable_device_mem(dev);
+       ret = pcim_enable_device(dev);
        if (ret)
                return ret;
 
@@ -110,10 +110,8 @@ static int ce4100_i2c_probe(struct pci_dev *dev,
                return -EINVAL;
        }
        sds = kzalloc(sizeof(*sds), GFP_KERNEL);
-       if (!sds) {
-               ret = -ENOMEM;
-               goto err_mem;
-       }
+       if (!sds)
+               return -ENOMEM;
 
        for (i = 0; i < ARRAY_SIZE(sds->pdev); i++) {
                sds->pdev[i] = add_i2c_device(dev, i);
@@ -129,8 +127,6 @@ static int ce4100_i2c_probe(struct pci_dev *dev,
 
 err_dev_add:
        kfree(sds);
-err_mem:
-       pci_disable_device(dev);
        return ret;
 }