summaryrefslogtreecommitdiff
path: root/drivers/spi
diff options
context:
space:
mode:
authorYang Ruibin <11162571@vivo.com>2024-08-29 11:35:11 +0800
committerMark Brown <broonie@kernel.org>2024-08-29 13:02:04 +0100
commit8a0ec8c2d736961ff556e9d331decda9048fe0f1 (patch)
treeca0f0b09578b480600a2de5932634e3eba828054 /drivers/spi
parent2fe6102bf01a5f4f48f211c2e5c8a274342fccb1 (diff)
spi: Insert the missing pci_dev_put()before return
Increase the reference count by calling pci_get_slot(), and remember to decrement the reference count by calling pci_dev_put(). Signed-off-by: Yang Ruibin <11162571@vivo.com> Link: https://patch.msgid.link/20240829033511.1917015-1-11162571@vivo.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-pxa2xx-pci.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/spi/spi-pxa2xx-pci.c b/drivers/spi/spi-pxa2xx-pci.c
index 616d032f1a89..d49d8fef4088 100644
--- a/drivers/spi/spi-pxa2xx-pci.c
+++ b/drivers/spi/spi-pxa2xx-pci.c
@@ -145,8 +145,10 @@ static int lpss_spi_setup(struct pci_dev *dev, struct pxa2xx_spi_controller *c)
c->num_chipselect = 1;
ret = pxa2xx_spi_pci_clk_register(dev, ssp, 50000000);
- if (ret)
+ if (ret) {
+ pci_dev_put(dma_dev);
return ret;
+ }
dma_dev = pci_get_slot(dev->bus, PCI_DEVFN(PCI_SLOT(dev->devfn), 0));
ret = devm_add_action_or_reset(&dev->dev, lpss_dma_put_device, dma_dev);
@@ -221,8 +223,10 @@ static int mrfld_spi_setup(struct pci_dev *dev, struct pxa2xx_spi_controller *c)
}
ret = pxa2xx_spi_pci_clk_register(dev, ssp, 25000000);
- if (ret)
+ if (ret) {
+ pci_dev_put(dma_dev);
return ret;
+ }
dma_dev = pci_get_slot(dev->bus, PCI_DEVFN(21, 0));
ret = devm_add_action_or_reset(&dev->dev, lpss_dma_put_device, dma_dev);