diff mbox series

spi: mxic: Fix an error handling path in mxic_spi_probe()

Message ID 09c81f751241f6ec0bac7a48d4ec814a742e0d17.1648980664.git.christophe.jaillet@wanadoo.fr
State Accepted
Commit 35d516bdcd92fde46202d06b68df1166760208fd
Headers show
Series spi: mxic: Fix an error handling path in mxic_spi_probe() | expand

Commit Message

Christophe JAILLET April 3, 2022, 10:11 a.m. UTC
If spi_register_master() fails, we must undo a previous
mxic_spi_mem_ecc_probe() call, as already done in the remove function.

Fixes: 00360ebae483 ("spi: mxic: Add support for pipelined ECC operations")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 drivers/spi/spi-mxic.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Miquel Raynal April 4, 2022, 7:41 a.m. UTC | #1
Hi Christophe,

christophe.jaillet@wanadoo.fr wrote on Sun,  3 Apr 2022 12:11:13 +0200:

> If spi_register_master() fails, we must undo a previous
> mxic_spi_mem_ecc_probe() call, as already done in the remove function.
> 
> Fixes: 00360ebae483 ("spi: mxic: Add support for pipelined ECC operations")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
>  drivers/spi/spi-mxic.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/spi/spi-mxic.c b/drivers/spi/spi-mxic.c
> index 55c092069301..65be8e085ab8 100644
> --- a/drivers/spi/spi-mxic.c
> +++ b/drivers/spi/spi-mxic.c
> @@ -813,6 +813,7 @@ static int mxic_spi_probe(struct platform_device *pdev)
>  	if (ret) {
>  		dev_err(&pdev->dev, "spi_register_master failed\n");
>  		pm_runtime_disable(&pdev->dev);
> +		mxic_spi_mem_ecc_remove(mxic);

I missed it, thanks!

Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>

Cheers,
Miquèl
diff mbox series

Patch

diff --git a/drivers/spi/spi-mxic.c b/drivers/spi/spi-mxic.c
index 55c092069301..65be8e085ab8 100644
--- a/drivers/spi/spi-mxic.c
+++ b/drivers/spi/spi-mxic.c
@@ -813,6 +813,7 @@  static int mxic_spi_probe(struct platform_device *pdev)
 	if (ret) {
 		dev_err(&pdev->dev, "spi_register_master failed\n");
 		pm_runtime_disable(&pdev->dev);
+		mxic_spi_mem_ecc_remove(mxic);
 	}
 
 	return ret;