From fa8422df942d537f562ce3bac365bfcf422759a6 Mon Sep 17 00:00:00 2001
From: Paul Barker <paul.barker.ct@bp.renesas.com>
Date: Thu, 19 Oct 2023 15:50:38 +0100
Subject: [PATCH] mmc: renesas-sdhi: Fix error handling in rzg2l_sdhi_setup

We should ensure that reset_free() is called in the error path.

Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
Fixes: 93c811b7331b ("mmc: renesas-sdhi: Initialize module on RZ/G2L")
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
 drivers/mmc/renesas-sdhi.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/renesas-sdhi.c b/drivers/mmc/renesas-sdhi.c
index 1ea6e1066f..865efdd321 100644
--- a/drivers/mmc/renesas-sdhi.c
+++ b/drivers/mmc/renesas-sdhi.c
@@ -998,7 +998,7 @@ static int rzg2l_sdhi_setup(struct udevice *dev)
 	ret = reset_get_by_index(dev, 0, &rst);
 	if (ret < 0) {
 		dev_err(dev, "failed to get reset line\n");
-		goto err_reset;
+		goto err_get_reset;
 	}
 
 	ret = reset_deassert(&rst);
@@ -1016,6 +1016,8 @@ static int rzg2l_sdhi_setup(struct udevice *dev)
 err_tmio_probe:
 	reset_assert(&rst);
 err_reset:
+	reset_free(&rst);
+err_get_reset:
 	clk_disable(&aclk);
 err_aclk:
 	clk_disable(&imclk2);
-- 
2.39.5