All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] misc/pvpanic: Fix error handling in 'pvpanic_pci_probe()'
@ 2021-05-16 14:36 Christophe JAILLET
  2021-05-16 14:37 ` [PATCH 2/2] misc/pvpanic: Use GFP_KERNEL instead of GFP_ATOMIC Christophe JAILLET
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Christophe JAILLET @ 2021-05-16 14:36 UTC (permalink / raw)
  To: arnd, gregkh, mihai.carabas, andriy.shevchenko, pizhenwei,
	pbonzini, linqiheng
  Cc: linux-kernel, kernel-janitors, Christophe JAILLET

There is no error handling path in the probe function.
Switch to managed resource so that errors in the probe are handled easily
and simplify the remove function accordingly.

Fixes: db3a4f0abefd ("misc/pvpanic: add PCI driver")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 drivers/misc/pvpanic/pvpanic-pci.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/misc/pvpanic/pvpanic-pci.c b/drivers/misc/pvpanic/pvpanic-pci.c
index 9ecc4e8559d5..046ce4ecc195 100644
--- a/drivers/misc/pvpanic/pvpanic-pci.c
+++ b/drivers/misc/pvpanic/pvpanic-pci.c
@@ -78,15 +78,15 @@ static int pvpanic_pci_probe(struct pci_dev *pdev,
 	void __iomem *base;
 	int ret;
 
-	ret = pci_enable_device(pdev);
+	ret = pcim_enable_device(pdev);
 	if (ret < 0)
 		return ret;
 
-	base = pci_iomap(pdev, 0, 0);
+	base = pcim_iomap(pdev, 0, 0);
 	if (!base)
 		return -ENOMEM;
 
-	pi = kmalloc(sizeof(*pi), GFP_ATOMIC);
+	pi = devm_kmalloc(&pdev->dev, sizeof(*pi), GFP_ATOMIC);
 	if (!pi)
 		return -ENOMEM;
 
@@ -107,9 +107,6 @@ static void pvpanic_pci_remove(struct pci_dev *pdev)
 	struct pvpanic_instance *pi = dev_get_drvdata(&pdev->dev);
 
 	pvpanic_remove(pi);
-	iounmap(pi->base);
-	kfree(pi);
-	pci_disable_device(pdev);
 }
 
 static struct pci_driver pvpanic_pci_driver = {
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [PATCH 1/2] misc/pvpanic: Fix error handling in 'pvpanic_mmio_probe()'
@ 2021-05-16 15:00 Christophe JAILLET
  2021-05-16 15:00 ` [PATCH 2/2] misc/pvpanic: Use GFP_KERNEL instead of GFP_ATOMIC Christophe JAILLET
  0 siblings, 1 reply; 10+ messages in thread
From: Christophe JAILLET @ 2021-05-16 15:00 UTC (permalink / raw)
  To: arnd, gregkh, mihai.carabas, andriy.shevchenko, pizhenwei,
	pbonzini, bobo.shaobowang
  Cc: linux-kernel, kernel-janitors, Christophe JAILLET

There is no error handling path in the probe function.
Switch to managed resource so that errors in the probe are handled easily
and simplify the remove function accordingly.

Fixes: b3c0f8774668 ("misc/pvpanic: probe multiple instances")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 drivers/misc/pvpanic/pvpanic-mmio.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/misc/pvpanic/pvpanic-mmio.c b/drivers/misc/pvpanic/pvpanic-mmio.c
index 4c0841776087..69b31f7adf4f 100644
--- a/drivers/misc/pvpanic/pvpanic-mmio.c
+++ b/drivers/misc/pvpanic/pvpanic-mmio.c
@@ -93,7 +93,7 @@ static int pvpanic_mmio_probe(struct platform_device *pdev)
 		return -EINVAL;
 	}
 
-	pi = kmalloc(sizeof(*pi), GFP_ATOMIC);
+	pi = devm_kmalloc(dev, sizeof(*pi), GFP_ATOMIC);
 	if (!pi)
 		return -ENOMEM;
 
@@ -114,7 +114,6 @@ static int pvpanic_mmio_remove(struct platform_device *pdev)
 	struct pvpanic_instance *pi = dev_get_drvdata(&pdev->dev);
 
 	pvpanic_remove(pi);
-	kfree(pi);
 
 	return 0;
 }
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-05-21 13:15 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-16 14:36 [PATCH 1/2] misc/pvpanic: Fix error handling in 'pvpanic_pci_probe()' Christophe JAILLET
2021-05-16 14:37 ` [PATCH 2/2] misc/pvpanic: Use GFP_KERNEL instead of GFP_ATOMIC Christophe JAILLET
2021-05-17  8:01 ` [PATCH 1/2] misc/pvpanic: Fix error handling in 'pvpanic_pci_probe()' Andy Shevchenko
2021-05-17 10:02   ` Christophe JAILLET
2021-05-17 10:34     ` Andy Shevchenko
2021-05-17 11:24       ` Christophe JAILLET
2021-05-21 12:36 ` Greg KH
2021-05-21 12:41   ` Christophe JAILLET
2021-05-21 13:15     ` Greg KH
2021-05-16 15:00 [PATCH 1/2] misc/pvpanic: Fix error handling in 'pvpanic_mmio_probe()' Christophe JAILLET
2021-05-16 15:00 ` [PATCH 2/2] misc/pvpanic: Use GFP_KERNEL instead of GFP_ATOMIC Christophe JAILLET

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.