All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: <broonie@kernel.org>, <nsaenzjulienne@suse.de>,
	<f.fainelli@gmail.com>, <rjui@broadcom.com>,
	<sbranden@broadcom.com>, <shawnguo@kernel.org>,
	<s.hauer@pengutronix.de>, <baohua@kernel.org>,
	<mcoquelin.stm32@gmail.com>, <alexandre.torgue@st.com>
Cc: <vkoul@kernel.org>, <linux-spi@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-rpi-kernel@lists.infradead.org>,
	<linux-stm32@st-md-mailman.stormreply.com>
Subject: [PATCH 2/9] spi: bcm2835: Release the DMA channel if probe fails after dma_init
Date: Thu, 12 Dec 2019 15:55:43 +0200	[thread overview]
Message-ID: <20191212135550.4634-3-peter.ujfalusi@ti.com> (raw)
In-Reply-To: <20191212135550.4634-1-peter.ujfalusi@ti.com>

The DMA channel was not released if either devm_request_irq() or
devm_spi_register_controller() failed.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/spi/spi-bcm2835.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/spi/spi-bcm2835.c b/drivers/spi/spi-bcm2835.c
index fb61a620effc..662d55e9f21d 100644
--- a/drivers/spi/spi-bcm2835.c
+++ b/drivers/spi/spi-bcm2835.c
@@ -1327,20 +1327,22 @@ static int bcm2835_spi_probe(struct platform_device *pdev)
 			       dev_name(&pdev->dev), ctlr);
 	if (err) {
 		dev_err(&pdev->dev, "could not request IRQ: %d\n", err);
-		goto out_clk_disable;
+		goto out_dma_release;
 	}
 
 	err = devm_spi_register_controller(&pdev->dev, ctlr);
 	if (err) {
 		dev_err(&pdev->dev, "could not register SPI controller: %d\n",
 			err);
-		goto out_clk_disable;
+		goto out_dma_release;
 	}
 
 	bcm2835_debugfs_create(bs, dev_name(&pdev->dev));
 
 	return 0;
 
+out_dma_release:
+	bcm2835_dma_release(ctlr, bs);
 out_clk_disable:
 	clk_disable_unprepare(bs->clk);
 out_controller_put:
-- 
Peter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki


WARNING: multiple messages have this Message-ID (diff)
From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: <broonie@kernel.org>, <nsaenzjulienne@suse.de>,
	<f.fainelli@gmail.com>, <rjui@broadcom.com>,
	<sbranden@broadcom.com>, <shawnguo@kernel.org>,
	<s.hauer@pengutronix.de>, <baohua@kernel.org>,
	<mcoquelin.stm32@gmail.com>, <alexandre.torgue@st.com>
Cc: linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org,
	vkoul@kernel.org, linux-rpi-kernel@lists.infradead.org,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/9] spi: bcm2835: Release the DMA channel if probe fails after dma_init
Date: Thu, 12 Dec 2019 15:55:43 +0200	[thread overview]
Message-ID: <20191212135550.4634-3-peter.ujfalusi@ti.com> (raw)
In-Reply-To: <20191212135550.4634-1-peter.ujfalusi@ti.com>

The DMA channel was not released if either devm_request_irq() or
devm_spi_register_controller() failed.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/spi/spi-bcm2835.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/spi/spi-bcm2835.c b/drivers/spi/spi-bcm2835.c
index fb61a620effc..662d55e9f21d 100644
--- a/drivers/spi/spi-bcm2835.c
+++ b/drivers/spi/spi-bcm2835.c
@@ -1327,20 +1327,22 @@ static int bcm2835_spi_probe(struct platform_device *pdev)
 			       dev_name(&pdev->dev), ctlr);
 	if (err) {
 		dev_err(&pdev->dev, "could not request IRQ: %d\n", err);
-		goto out_clk_disable;
+		goto out_dma_release;
 	}
 
 	err = devm_spi_register_controller(&pdev->dev, ctlr);
 	if (err) {
 		dev_err(&pdev->dev, "could not register SPI controller: %d\n",
 			err);
-		goto out_clk_disable;
+		goto out_dma_release;
 	}
 
 	bcm2835_debugfs_create(bs, dev_name(&pdev->dev));
 
 	return 0;
 
+out_dma_release:
+	bcm2835_dma_release(ctlr, bs);
 out_clk_disable:
 	clk_disable_unprepare(bs->clk);
 out_controller_put:
-- 
Peter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2019-12-12 13:56 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-12 13:55 [PATCH 0/9] spi: Use dma_request_chan() instead dma_request_slave_channel() Peter Ujfalusi
2019-12-12 13:55 ` Peter Ujfalusi
2019-12-12 13:55 ` Peter Ujfalusi
2019-12-12 13:55 ` [PATCH 1/9] spi: atmel: " Peter Ujfalusi
2019-12-12 13:55   ` Peter Ujfalusi
2019-12-16 12:06   ` Applied "spi: atmel: Use dma_request_chan() instead dma_request_slave_channel()" to the spi tree Mark Brown
2019-12-16 12:06     ` Mark Brown
2019-12-16 12:06     ` Mark Brown
2019-12-12 13:55 ` Peter Ujfalusi [this message]
2019-12-12 13:55   ` [PATCH 2/9] spi: bcm2835: Release the DMA channel if probe fails after dma_init Peter Ujfalusi
2019-12-16 11:34   ` Nicolas Saenz Julienne
2019-12-16 11:34     ` Nicolas Saenz Julienne
2019-12-16 12:06   ` Applied "spi: bcm2835: Release the DMA channel if probe fails after dma_init" to the spi tree Mark Brown
2019-12-16 12:06     ` Mark Brown
2019-12-16 12:06     ` Mark Brown
2019-12-12 13:55 ` [PATCH 3/9] spi: bcm2835: Use dma_request_chan() instead dma_request_slave_channel() Peter Ujfalusi
2019-12-12 13:55   ` Peter Ujfalusi
2019-12-16 12:06   ` Applied "spi: bcm2835: Use dma_request_chan() instead dma_request_slave_channel()" to the spi tree Mark Brown
2019-12-16 12:06     ` Mark Brown
2019-12-16 12:06     ` Mark Brown
2019-12-12 13:55 ` [PATCH 4/9] spi: img-spfi: Use dma_request_chan() instead dma_request_slave_channel() Peter Ujfalusi
2019-12-12 13:55   ` Peter Ujfalusi
2019-12-16 12:06   ` Applied "spi: img-spfi: Use dma_request_chan() instead dma_request_slave_channel()" to the spi tree Mark Brown
2019-12-16 12:06     ` Mark Brown
2019-12-16 12:06     ` Mark Brown
2019-12-12 13:55 ` [PATCH 5/9] spi: mxs: Use dma_request_chan() instead dma_request_slave_channel() Peter Ujfalusi
2019-12-12 13:55   ` Peter Ujfalusi
2019-12-16 12:06   ` Applied "spi: mxs: Use dma_request_chan() instead dma_request_slave_channel()" to the spi tree Mark Brown
2019-12-16 12:06     ` Mark Brown
2019-12-16 12:06     ` Mark Brown
2019-12-12 13:55 ` [PATCH 6/9] spi: sirf: Use dma_request_chan() instead dma_request_slave_channel() Peter Ujfalusi
2019-12-12 13:55   ` Peter Ujfalusi
2019-12-16 12:06   ` Applied "spi: sirf: Use dma_request_chan() instead dma_request_slave_channel()" to the spi tree Mark Brown
2019-12-16 12:06     ` Mark Brown
2019-12-16 12:06     ` Mark Brown
2019-12-12 13:55 ` [PATCH 7/9] spi: spi-fsl-dspi: Use dma_request_chan() instead dma_request_slave_channel() Peter Ujfalusi
2019-12-12 13:55   ` Peter Ujfalusi
2019-12-16 12:06   ` Applied "spi: spi-fsl-dspi: Use dma_request_chan() instead dma_request_slave_channel()" to the spi tree Mark Brown
2019-12-16 12:06     ` Mark Brown
2019-12-16 12:06     ` Mark Brown
2019-12-12 13:55 ` [PATCH 8/9] spi: stm32-qspi: Use dma_request_chan() instead dma_request_slave_channel() Peter Ujfalusi
2019-12-12 13:55   ` Peter Ujfalusi
2019-12-16 12:06   ` Applied "spi: stm32-qspi: Use dma_request_chan() instead dma_request_slave_channel()" to the spi tree Mark Brown
2019-12-16 12:06     ` Mark Brown
2019-12-16 12:06     ` Mark Brown
2019-12-12 13:55 ` [PATCH 9/9] spi: stm32: Use dma_request_chan() instead dma_request_slave_channel() Peter Ujfalusi
2019-12-12 13:55   ` Peter Ujfalusi
2019-12-16 12:05   ` Applied "spi: stm32: Use dma_request_chan() instead dma_request_slave_channel()" to the spi tree Mark Brown
2019-12-16 12:05     ` Mark Brown
2019-12-16 12:05     ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191212135550.4634-3-peter.ujfalusi@ti.com \
    --to=peter.ujfalusi@ti.com \
    --cc=alexandre.torgue@st.com \
    --cc=baohua@kernel.org \
    --cc=broonie@kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rpi-kernel@lists.infradead.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=nsaenzjulienne@suse.de \
    --cc=rjui@broadcom.com \
    --cc=s.hauer@pengutronix.de \
    --cc=sbranden@broadcom.com \
    --cc=shawnguo@kernel.org \
    --cc=vkoul@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.