From: Vladimir Yakovlev <vovchkir@xxxxxxxxx> Check result after reset IP block and disable all clocks if return error. Co-developed-by: Sergey Khimich <serghox@xxxxxxxxx> Signed-off-by: Sergey Khimich <serghox@xxxxxxxxx> Signed-off-by: Vladimir Yakovlev <vovchkir@xxxxxxxxx> --- drivers/media/platform/chips-media/coda/coda-common.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/chips-media/coda/coda-common.c b/drivers/media/platform/chips-media/coda/coda-common.c index c39ba4fba547..64ba17d8adfb 100644 --- a/drivers/media/platform/chips-media/coda/coda-common.c +++ b/drivers/media/platform/chips-media/coda/coda-common.c @@ -2793,7 +2793,9 @@ static int coda_hw_init(struct coda_dev *dev) if (ret) goto err_clk_ahb; - reset_control_reset(dev->rstc); + ret = reset_control_reset(dev->rstc); + if (ret) + goto err_reset; /* * Copy the first CODA_ISRAM_SIZE in the internal SRAM. @@ -2872,6 +2874,8 @@ static int coda_hw_init(struct coda_dev *dev) return 0; +err_reset: + clk_disable_unprepare(dev->clk_ahb); err_clk_ahb: clk_disable_unprepare(dev->clk_per); err_clk_per: -- 2.30.2