From: Suman Anna s-anna@ti.com
[ Upstream commit a304f483b6b00d42bde41c45ca52c670945348e2 ]
The clocks are not yet parsed and prepared until after a successful sysc_get_clocks(), so there is no need to unprepare the clocks upon any failure of any of the prior functions in sysc_probe(). The current code path would have been a no-op because of the clock validity checks within sysc_unprepare(), but let's just simplify the cleanup path by returning the error directly.
While at this, also fix the cleanup path for a sysc_init_resets() failure which is executed after the clocks are prepared.
Signed-off-by: Suman Anna s-anna@ti.com Signed-off-by: Tony Lindgren tony@atomide.com Signed-off-by: Sasha Levin sashal@kernel.org --- drivers/bus/ti-sysc.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c index 58b38630171ff..0d122440d1111 100644 --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -2079,27 +2079,27 @@ static int sysc_probe(struct platform_device *pdev)
error = sysc_init_dts_quirks(ddata); if (error) - goto unprepare; + return error;
error = sysc_map_and_check_registers(ddata); if (error) - goto unprepare; + return error;
error = sysc_init_sysc_mask(ddata); if (error) - goto unprepare; + return error;
error = sysc_init_idlemodes(ddata); if (error) - goto unprepare; + return error;
error = sysc_init_syss_mask(ddata); if (error) - goto unprepare; + return error;
error = sysc_init_pdata(ddata); if (error) - goto unprepare; + return error;
sysc_init_early_quirks(ddata);
@@ -2109,7 +2109,7 @@ static int sysc_probe(struct platform_device *pdev)
error = sysc_init_resets(ddata); if (error) - return error; + goto unprepare;
error = sysc_init_module(ddata); if (error)