[PATCH v3 1/4] remoteproc: st: correct probe error management
From: Loic Pallardy
Date: Tue Jan 31 2017 - 07:36:56 EST
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 <loic.pallardy@xxxxxx>
---
Changes from V2:
New patch fixing st_rproc_probe error management
drivers/remoteproc/st_remoteproc.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/remoteproc/st_remoteproc.c b/drivers/remoteproc/st_remoteproc.c
index da4e152..bdfab49 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;
--
1.9.1