From: Loic Pallardy Date: Tue, 31 Jan 2017 12:35:53 +0000 (+0100) Subject: remoteproc: st: correct probe error management X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=3e49ecf6b49c31b70235d260b957376c00265c1e;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git remoteproc: st: correct probe error management Associated clock is prepared in st_rproc_parse_dt function. it should be unprepared in case of error during probing. Signed-off-by: Loic Pallardy Signed-off-by: Bjorn Andersson --- diff --git a/drivers/remoteproc/st_remoteproc.c b/drivers/remoteproc/st_remoteproc.c index f21787b602e3..1468ba213811 100644 --- a/drivers/remoteproc/st_remoteproc.c +++ b/drivers/remoteproc/st_remoteproc.c @@ -247,7 +247,7 @@ static int st_rproc_probe(struct platform_device *pdev) enabled = st_rproc_state(pdev); if (enabled < 0) { ret = enabled; - goto free_rproc; + goto free_clk; } if (enabled) { @@ -259,10 +259,12 @@ static int st_rproc_probe(struct platform_device *pdev) ret = rproc_add(rproc); if (ret) - goto free_rproc; + goto free_clk; return 0; +free_clk: + clk_unprepare(ddata->clk); free_rproc: rproc_free(rproc); return ret;