diff options
author | Jordan Crouse <jcrouse@codeaurora.org> | 2019-05-07 13:18:09 -0600 |
---|---|---|
committer | Rob Clark <robdclark@chromium.org> | 2019-06-18 13:52:10 -0700 |
commit | 36415615adf4b55668a99ba4565bdd38733e5bff (patch) | |
tree | b1bca5a77cec5f18d83c07c95047b1020277b6ed /drivers/gpu/drm/msm | |
parent | 295b22ae596c1d2dd8a4eb597d576f43acb4da6f (diff) | |
download | linux-36415615adf4b55668a99ba4565bdd38733e5bff.tar.bz2 |
drm/msm/dpu: Fix error recovery after failing to enable clocks
If enabling clocks fails in msm_dss_enable_clk() the code to unwind the
settings starts at 'i' which is the clock that just failed. While this
isn't harmful it does result in a number of warnings from the clock
subsystem while trying to unpreare/disable the very clock that had
just failed to prepare/enable. Skip the current failed clock during
the unwind to to avoid the extra log spew.
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'drivers/gpu/drm/msm')
-rw-r--r-- | drivers/gpu/drm/msm/disp/dpu1/dpu_io_util.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_io_util.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_io_util.c index 78833c2c27f8..a40a630a5ddd 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_io_util.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_io_util.c @@ -114,9 +114,9 @@ int msm_dss_enable_clk(struct dss_clk *clk_arry, int num_clk, int enable) rc = -EPERM; } - if (rc) { - msm_dss_enable_clk(&clk_arry[i], - i, false); + if (rc && i) { + msm_dss_enable_clk(&clk_arry[i - 1], + i - 1, false); break; } } |