]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
drm/msm: reset devfreq freq_table/max_state before devfreq_add_device
authorJonathan Marek <jonathan@marek.ca>
Mon, 13 Jul 2020 22:53:41 +0000 (18:53 -0400)
committerRob Clark <robdclark@chromium.org>
Thu, 30 Jul 2020 20:44:52 +0000 (13:44 -0700)
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 <jonathan@marek.ca>
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/msm_gpu.c

index 86a13864147795ffb2193f17addaa634dc7fb7ce..3763d40026293ccb27d8902d8fc179570a075302 100644 (file)
@@ -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,