diff mbox series

mmc: renesas_sdhi: Fix error handling in renesas_sdhi_probe

Message ID 20250326220638.460083-1-ruslan.piasetskyi@gmail.com
State New
Headers show
Series mmc: renesas_sdhi: Fix error handling in renesas_sdhi_probe | expand

Commit Message

Ruslan Piasetskyi March 26, 2025, 10:06 p.m. UTC
After moving tmio_mmc_host_probe down, error handling has to be
adjusted.

Fixes: 74f45de394d9 ("mmc: renesas_sdhi: register irqs before registering controller")
Reviewed-by: Ihar Salauyou <salauyou.ihar@gmail.com>
Signed-off-by: Ruslan Piasetskyi <ruslan.piasetskyi@gmail.com>
---
 drivers/mmc/host/renesas_sdhi_core.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

Comments

Geert Uytterhoeven March 27, 2025, 7:57 a.m. UTC | #1
Hi Ruslan,

On Wed, 26 Mar 2025 at 23:08, Ruslan Piasetskyi
<ruslan.piasetskyi@gmail.com> wrote:
> After moving tmio_mmc_host_probe down, error handling has to be
> adjusted.
>
> Fixes: 74f45de394d9 ("mmc: renesas_sdhi: register irqs before registering controller")
> Reviewed-by: Ihar Salauyou <salauyou.ihar@gmail.com>
> Signed-off-by: Ruslan Piasetskyi <ruslan.piasetskyi@gmail.com>

Thanks for your patch!

Doh, how did I miss that the gotos weren't adjusted?!?...

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert
Wolfram Sang March 30, 2025, 10:07 p.m. UTC | #2
On Wed, Mar 26, 2025 at 11:06:38PM +0100, Ruslan Piasetskyi wrote:
> After moving tmio_mmc_host_probe down, error handling has to be
> adjusted.
> 
> Fixes: 74f45de394d9 ("mmc: renesas_sdhi: register irqs before registering controller")
> Reviewed-by: Ihar Salauyou <salauyou.ihar@gmail.com>
> Signed-off-by: Ruslan Piasetskyi <ruslan.piasetskyi@gmail.com>

Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

Thanks!
Wolfram Sang March 31, 2025, 7:05 a.m. UTC | #3
On Mon, Mar 31, 2025 at 12:07:49AM +0200, Wolfram Sang wrote:
> On Wed, Mar 26, 2025 at 11:06:38PM +0100, Ruslan Piasetskyi wrote:
> > After moving tmio_mmc_host_probe down, error handling has to be
> > adjusted.
> > 
> > Fixes: 74f45de394d9 ("mmc: renesas_sdhi: register irqs before registering controller")
> > Reviewed-by: Ihar Salauyou <salauyou.ihar@gmail.com>
> > Signed-off-by: Ruslan Piasetskyi <ruslan.piasetskyi@gmail.com>
> 
> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

Also:

Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Ulf Hansson April 7, 2025, 4:04 p.m. UTC | #4
On Wed, 26 Mar 2025 at 23:08, Ruslan Piasetskyi
<ruslan.piasetskyi@gmail.com> wrote:
>
> After moving tmio_mmc_host_probe down, error handling has to be
> adjusted.
>
> Fixes: 74f45de394d9 ("mmc: renesas_sdhi: register irqs before registering controller")
> Reviewed-by: Ihar Salauyou <salauyou.ihar@gmail.com>
> Signed-off-by: Ruslan Piasetskyi <ruslan.piasetskyi@gmail.com>

Applied for fixes and by adding a stable tag, thanks!

Kind regards
Uffe


> ---
>  drivers/mmc/host/renesas_sdhi_core.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/mmc/host/renesas_sdhi_core.c b/drivers/mmc/host/renesas_sdhi_core.c
> index f73b84bae0c4..6ebb3d1eeb4d 100644
> --- a/drivers/mmc/host/renesas_sdhi_core.c
> +++ b/drivers/mmc/host/renesas_sdhi_core.c
> @@ -1112,26 +1112,26 @@ int renesas_sdhi_probe(struct platform_device *pdev,
>         num_irqs = platform_irq_count(pdev);
>         if (num_irqs < 0) {
>                 ret = num_irqs;
> -               goto eirq;
> +               goto edisclk;
>         }
>
>         /* There must be at least one IRQ source */
>         if (!num_irqs) {
>                 ret = -ENXIO;
> -               goto eirq;
> +               goto edisclk;
>         }
>
>         for (i = 0; i < num_irqs; i++) {
>                 irq = platform_get_irq(pdev, i);
>                 if (irq < 0) {
>                         ret = irq;
> -                       goto eirq;
> +                       goto edisclk;
>                 }
>
>                 ret = devm_request_irq(&pdev->dev, irq, tmio_mmc_irq, 0,
>                                        dev_name(&pdev->dev), host);
>                 if (ret)
> -                       goto eirq;
> +                       goto edisclk;
>         }
>
>         ret = tmio_mmc_host_probe(host);
> @@ -1143,8 +1143,6 @@ int renesas_sdhi_probe(struct platform_device *pdev,
>
>         return ret;
>
> -eirq:
> -       tmio_mmc_host_remove(host);
>  edisclk:
>         renesas_sdhi_clk_disable(host);
>  efree:
> --
> 2.34.1
>
diff mbox series

Patch

diff --git a/drivers/mmc/host/renesas_sdhi_core.c b/drivers/mmc/host/renesas_sdhi_core.c
index f73b84bae0c4..6ebb3d1eeb4d 100644
--- a/drivers/mmc/host/renesas_sdhi_core.c
+++ b/drivers/mmc/host/renesas_sdhi_core.c
@@ -1112,26 +1112,26 @@  int renesas_sdhi_probe(struct platform_device *pdev,
 	num_irqs = platform_irq_count(pdev);
 	if (num_irqs < 0) {
 		ret = num_irqs;
-		goto eirq;
+		goto edisclk;
 	}
 
 	/* There must be at least one IRQ source */
 	if (!num_irqs) {
 		ret = -ENXIO;
-		goto eirq;
+		goto edisclk;
 	}
 
 	for (i = 0; i < num_irqs; i++) {
 		irq = platform_get_irq(pdev, i);
 		if (irq < 0) {
 			ret = irq;
-			goto eirq;
+			goto edisclk;
 		}
 
 		ret = devm_request_irq(&pdev->dev, irq, tmio_mmc_irq, 0,
 				       dev_name(&pdev->dev), host);
 		if (ret)
-			goto eirq;
+			goto edisclk;
 	}
 
 	ret = tmio_mmc_host_probe(host);
@@ -1143,8 +1143,6 @@  int renesas_sdhi_probe(struct platform_device *pdev,
 
 	return ret;
 
-eirq:
-	tmio_mmc_host_remove(host);
 edisclk:
 	renesas_sdhi_clk_disable(host);
 efree: