[PATCH] spi: dw-pci: remove redundant pci_free_irq_vectors() calls
From: Felix Gu
Date: Fri May 29 2026 - 15:08:47 EST
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@xxxxxxxxx>
---
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@xxxxxxxxx>