On Sun, Feb 26, 2017 at 2:52 AM, Christophe JAILLET <christophe.jail...@wanadoo.fr> wrote: > If a 'clk_prepare_enable()' fails, then we need to disable_unprepare the > clk already handled. > > With the current implemenatation, we try to do that on the clk that has > triggered the error, which is a no-op, and leave 'msm_host->bus_clks[0]' > untouched. > > Shift by one the index array to free resources correctly. > > Signed-off-by: Christophe JAILLET <christophe.jail...@wanadoo.fr>
Reviewed-by: Rob Clark <robdcl...@gmail.com> > --- > drivers/gpu/drm/msm/dsi/dsi_host.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c > b/drivers/gpu/drm/msm/dsi/dsi_host.c > index 1fc07ce24686..eac4987f3946 100644 > --- a/drivers/gpu/drm/msm/dsi/dsi_host.c > +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c > @@ -438,7 +438,7 @@ static int dsi_bus_clk_enable(struct msm_dsi_host > *msm_host) > return 0; > err: > for (; i > 0; i--) > - clk_disable_unprepare(msm_host->bus_clks[i]); > + clk_disable_unprepare(msm_host->bus_clks[i-1]); > > return ret; > } > -- > 2.9.3 >