Message ID | 20210220142935.918554-1-christophe.jaillet@wanadoo.fr (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] mmc: uniphier-sd: Fix an error handling path in uniphier_sd_probe() | expand |
On Sat, Feb 20, 2021 at 11:31 PM Christophe JAILLET <christophe.jaillet@wanadoo.fr> wrote: > > A 'uniphier_sd_clk_enable()' call should be balanced by a corresponding > 'uniphier_sd_clk_disable()' call. > This is done in the remove function, but not in the error handling path of > the probe. > > Add the missing call. > > Fixes: 3fd784f745dd ("mmc: uniphier-sd: add UniPhier SD/eMMC controller driver") > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > --- I no longer have access to this hardware, but by browsing the code, this seems correct. Reviewed-by: Masahiro Yamada <masahiroy@kernel.org> > drivers/mmc/host/uniphier-sd.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/mmc/host/uniphier-sd.c b/drivers/mmc/host/uniphier-sd.c > index 2413b6750cec..6f0f05466917 100644 > --- a/drivers/mmc/host/uniphier-sd.c > +++ b/drivers/mmc/host/uniphier-sd.c > @@ -635,7 +635,7 @@ static int uniphier_sd_probe(struct platform_device *pdev) > > ret = tmio_mmc_host_probe(host); > if (ret) > - goto free_host; > + goto disable_clk; > > ret = devm_request_irq(dev, irq, tmio_mmc_irq, IRQF_SHARED, > dev_name(dev), host); > @@ -646,6 +646,8 @@ static int uniphier_sd_probe(struct platform_device *pdev) > > remove_host: > tmio_mmc_host_remove(host); > +disable_clk: > + uniphier_sd_clk_disable(host); > free_host: > tmio_mmc_host_free(host); > > -- > 2.27.0 > -- Best Regards Masahiro Yamada
On Sat, 20 Feb 2021 at 15:29, Christophe JAILLET <christophe.jaillet@wanadoo.fr> wrote: > > A 'uniphier_sd_clk_enable()' call should be balanced by a corresponding > 'uniphier_sd_clk_disable()' call. > This is done in the remove function, but not in the error handling path of > the probe. > > Add the missing call. > > Fixes: 3fd784f745dd ("mmc: uniphier-sd: add UniPhier SD/eMMC controller driver") > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Applied for next and by adding a stable tag, thanks! Kind regards Uffe > --- > drivers/mmc/host/uniphier-sd.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/mmc/host/uniphier-sd.c b/drivers/mmc/host/uniphier-sd.c > index 2413b6750cec..6f0f05466917 100644 > --- a/drivers/mmc/host/uniphier-sd.c > +++ b/drivers/mmc/host/uniphier-sd.c > @@ -635,7 +635,7 @@ static int uniphier_sd_probe(struct platform_device *pdev) > > ret = tmio_mmc_host_probe(host); > if (ret) > - goto free_host; > + goto disable_clk; > > ret = devm_request_irq(dev, irq, tmio_mmc_irq, IRQF_SHARED, > dev_name(dev), host); > @@ -646,6 +646,8 @@ static int uniphier_sd_probe(struct platform_device *pdev) > > remove_host: > tmio_mmc_host_remove(host); > +disable_clk: > + uniphier_sd_clk_disable(host); > free_host: > tmio_mmc_host_free(host); > > -- > 2.27.0 >
diff --git a/drivers/mmc/host/uniphier-sd.c b/drivers/mmc/host/uniphier-sd.c index 2413b6750cec..6f0f05466917 100644 --- a/drivers/mmc/host/uniphier-sd.c +++ b/drivers/mmc/host/uniphier-sd.c @@ -635,7 +635,7 @@ static int uniphier_sd_probe(struct platform_device *pdev) ret = tmio_mmc_host_probe(host); if (ret) - goto free_host; + goto disable_clk; ret = devm_request_irq(dev, irq, tmio_mmc_irq, IRQF_SHARED, dev_name(dev), host); @@ -646,6 +646,8 @@ static int uniphier_sd_probe(struct platform_device *pdev) remove_host: tmio_mmc_host_remove(host); +disable_clk: + uniphier_sd_clk_disable(host); free_host: tmio_mmc_host_free(host);
A 'uniphier_sd_clk_enable()' call should be balanced by a corresponding 'uniphier_sd_clk_disable()' call. This is done in the remove function, but not in the error handling path of the probe. Add the missing call. Fixes: 3fd784f745dd ("mmc: uniphier-sd: add UniPhier SD/eMMC controller driver") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- drivers/mmc/host/uniphier-sd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)