[PATCH] spi: dw-pci: remove redundant pci_free_irq_vectors() calls

Felix Gu posted 1 patch 1 week, 2 days ago
drivers/spi/spi-dw-pci.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
[PATCH] spi: dw-pci: remove redundant pci_free_irq_vectors() calls
Posted by Felix Gu 1 week, 2 days ago
The driver uses pcim_enable_device(), so IRQ vectors are automatically
freed by devres on driver detach. The explicit pci_free_irq_vectors()
calls in the probe error path and remove function are redundant.

Drop them and the now-unused error label.

Signed-off-by: Felix Gu <ustc.gu@gmail.com>
---
 drivers/spi/spi-dw-pci.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/drivers/spi/spi-dw-pci.c b/drivers/spi/spi-dw-pci.c
index 7f002d5e5b88..bfb874f96a26 100644
--- a/drivers/spi/spi-dw-pci.c
+++ b/drivers/spi/spi-dw-pci.c
@@ -120,16 +120,15 @@ static int dw_spi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *en
 		if (desc->setup) {
 			ret = desc->setup(dws);
 			if (ret)
-				goto err_free_irq_vectors;
+				return ret;
 		}
 	} else {
-		ret = -ENODEV;
-		goto err_free_irq_vectors;
+		return -ENODEV;
 	}
 
 	ret = dw_spi_add_controller(&pdev->dev, dws);
 	if (ret)
-		goto err_free_irq_vectors;
+		return ret;
 
 	/* PCI hook and SPI hook use the same drv data */
 	pci_set_drvdata(pdev, dws);
@@ -143,10 +142,6 @@ static int dw_spi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *en
 	pm_runtime_allow(&pdev->dev);
 
 	return 0;
-
-err_free_irq_vectors:
-	pci_free_irq_vectors(pdev);
-	return ret;
 }
 
 static void dw_spi_pci_remove(struct pci_dev *pdev)
@@ -157,7 +152,6 @@ static void dw_spi_pci_remove(struct pci_dev *pdev)
 	pm_runtime_get_noresume(&pdev->dev);
 
 	dw_spi_remove_controller(dws);
-	pci_free_irq_vectors(pdev);
 }
 
 #ifdef CONFIG_PM_SLEEP

---
base-commit: f7af91adc230aa99e23330ecf85bc9badd9780ad
change-id: 20260530-dw-pci-d756a48bf3a2

Best regards,
--  
Felix Gu <ustc.gu@gmail.com>