Re: [PATCH] drm/exynos: gsc: minor fix for loop iteration in gsc_runtime_resume
2023년 12월 20일 (수) 오후 7:45, Marek Szyprowski 님이 작성: > On 20.12.2023 10:53, Fedor Pchelkin wrote: > > Do not forget to call clk_disable_unprepare() on the first element of > > ctx->clocks array. > > > > Found by Linux Verification Center (linuxtesting.org). > > > > Fixes: 8b7d3ec83aba ("drm/exynos: gsc: Convert driver to IPP v2 core > API") > > Signed-off-by: Fedor Pchelkin > Reviewed-by: Marek Szyprowski > Applied. Thanks, Inki Dae > --- > > drivers/gpu/drm/exynos/exynos_drm_gsc.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_gsc.c > b/drivers/gpu/drm/exynos/exynos_drm_gsc.c > > index 34cdabc30b4f..5302bebbe38c 100644 > > --- a/drivers/gpu/drm/exynos/exynos_drm_gsc.c > > +++ b/drivers/gpu/drm/exynos/exynos_drm_gsc.c > > @@ -1342,7 +1342,7 @@ static int __maybe_unused > gsc_runtime_resume(struct device *dev) > > for (i = 0; i < ctx->num_clocks; i++) { > > ret = clk_prepare_enable(ctx->clocks[i]); > > if (ret) { > > - while (--i > 0) > > + while (--i >= 0) > > clk_disable_unprepare(ctx->clocks[i]); > > return ret; > > } > > Best regards > -- > Marek Szyprowski, PhD > Samsung R Institute Poland > >
Re: [PATCH] drm/exynos: gsc: minor fix for loop iteration in gsc_runtime_resume
On 20.12.2023 10:53, Fedor Pchelkin wrote: > Do not forget to call clk_disable_unprepare() on the first element of > ctx->clocks array. > > Found by Linux Verification Center (linuxtesting.org). > > Fixes: 8b7d3ec83aba ("drm/exynos: gsc: Convert driver to IPP v2 core API") > Signed-off-by: Fedor Pchelkin Reviewed-by: Marek Szyprowski > --- > drivers/gpu/drm/exynos/exynos_drm_gsc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_gsc.c > b/drivers/gpu/drm/exynos/exynos_drm_gsc.c > index 34cdabc30b4f..5302bebbe38c 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_gsc.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_gsc.c > @@ -1342,7 +1342,7 @@ static int __maybe_unused gsc_runtime_resume(struct > device *dev) > for (i = 0; i < ctx->num_clocks; i++) { > ret = clk_prepare_enable(ctx->clocks[i]); > if (ret) { > - while (--i > 0) > + while (--i >= 0) > clk_disable_unprepare(ctx->clocks[i]); > return ret; > } Best regards -- Marek Szyprowski, PhD Samsung R Institute Poland