From: Jonathan Marek Date: Mon, 13 Jul 2020 22:53:41 +0000 (-0400) Subject: drm/msm: reset devfreq freq_table/max_state before devfreq_add_device X-Git-Tag: v5.9-rc1~51^2~6^2~35 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=0ded520b182e13277e1076f84ca16247eb9bf150;p=linux-block.git drm/msm: reset devfreq freq_table/max_state before devfreq_add_device These never get set back to 0 when probing fails, so an attempt to probe again results in broken behavior. Fix the problem by setting thse to zero before they are used. Signed-off-by: Jonathan Marek Signed-off-by: Rob Clark --- diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c index 86a138641477..3763d4002629 100644 --- a/drivers/gpu/drm/msm/msm_gpu.c +++ b/drivers/gpu/drm/msm/msm_gpu.c @@ -93,7 +93,11 @@ static void msm_devfreq_init(struct msm_gpu *gpu) /* * Don't set the freq_table or max_state and let devfreq build the table * from OPP + * After a deferred probe, these may have be left to non-zero values, + * so set them back to zero before creating the devfreq device */ + msm_devfreq_profile.freq_table = NULL; + msm_devfreq_profile.max_state = 0; gpu->devfreq.devfreq = devm_devfreq_add_device(&gpu->pdev->dev, &msm_devfreq_profile, DEVFREQ_GOV_SIMPLE_ONDEMAND,