File tree Expand file tree Collapse file tree 1 file changed +18
-3
lines changed Expand file tree Collapse file tree 1 file changed +18
-3
lines changed Original file line number Diff line number Diff line change @@ -630,17 +630,32 @@ static int dwcmshc_resume(struct device *dev)
630
630
if (!IS_ERR (priv -> bus_clk )) {
631
631
ret = clk_prepare_enable (priv -> bus_clk );
632
632
if (ret )
633
- return ret ;
633
+ goto disable_clk ;
634
634
}
635
635
636
636
if (rk_priv ) {
637
637
ret = clk_bulk_prepare_enable (RK35xx_MAX_CLKS ,
638
638
rk_priv -> rockchip_clks );
639
639
if (ret )
640
- return ret ;
640
+ goto disable_bus_clk ;
641
641
}
642
642
643
- return sdhci_resume_host (host );
643
+ ret = sdhci_resume_host (host );
644
+ if (ret )
645
+ goto disable_rockchip_clks ;
646
+
647
+ return 0 ;
648
+
649
+ disable_rockchip_clks :
650
+ if (rk_priv )
651
+ clk_bulk_disable_unprepare (RK35xx_MAX_CLKS ,
652
+ rk_priv -> rockchip_clks );
653
+ disable_bus_clk :
654
+ if (!IS_ERR (priv -> bus_clk ))
655
+ clk_disable_unprepare (priv -> bus_clk );
656
+ disable_clk :
657
+ clk_disable_unprepare (pltfm_host -> clk );
658
+ return ret ;
644
659
}
645
660
#endif
646
661
You can’t perform that action at this time.
0 commit comments