i2c-pxa2xx: fix missing pci_disable_device() on error in ce4100_i2c_probe

Message ID 20221114092540.247891-1-tanghui20@huawei.com
State New
Headers
Series i2c-pxa2xx: fix missing pci_disable_device() on error in ce4100_i2c_probe |

Commit Message

Hui Tang Nov. 14, 2022, 9:25 a.m. UTC
  Using pcim_enable_device() to avoid missing pci_disable_device().

Fixes: 7e94dd154e934 ("i2c-pxa2xx: Add PCI support for PXA I2C controller")
Signed-off-by: Hui Tang <tanghui20@huawei.com>
---
 drivers/i2c/busses/i2c-pxa-pci.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)
  

Comments

Wolfram Sang Dec. 5, 2022, 10:01 a.m. UTC | #1
On Mon, Nov 14, 2022 at 05:25:40PM +0800, Hui Tang wrote:
> Using pcim_enable_device() to avoid missing pci_disable_device().
> 
> Fixes: 7e94dd154e934 ("i2c-pxa2xx: Add PCI support for PXA I2C controller")
> Signed-off-by: Hui Tang <tanghui20@huawei.com>

Fixed the subject to "i2c: pxa-pci:" and fixed this checkpatch warning:

WARNING: Please use correct Fixes: style 'Fixes: <12 chars of sha1> ("<title line>")' - ie: 'Fixes: 7e94dd154e93 ("i2c-pxa2xx: Add PCI support for PXA I2C controller")'
#3: 
Fixes: 7e94dd154e934 ("i2c-pxa2xx: Add PCI support for PXA I2C controller")

Please do that in the future. After all that, applied to for-next, thanks!
  

Patch

diff --git a/drivers/i2c/busses/i2c-pxa-pci.c b/drivers/i2c/busses/i2c-pxa-pci.c
index f614cade432b..30e38bc8b6db 100644
--- a/drivers/i2c/busses/i2c-pxa-pci.c
+++ b/drivers/i2c/busses/i2c-pxa-pci.c
@@ -105,7 +105,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;
 
@@ -114,10 +114,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);
@@ -133,8 +131,6 @@  static int ce4100_i2c_probe(struct pci_dev *dev,
 
 err_dev_add:
 	kfree(sds);
-err_mem:
-	pci_disable_device(dev);
 	return ret;
 }