drm/msm: fix unbalanced pm_runtime_enable in adreno_gpu_{init, cleanup}
authorJonathan Marek <jonathan@marek.ca>
Mon, 13 Jul 2020 22:53:40 +0000 (18:53 -0400)
committerRob Clark <robdclark@chromium.org>
Thu, 30 Jul 2020 20:44:52 +0000 (13:44 -0700)
adreno_gpu_init calls pm_runtime_enable, so adreno_gpu_cleanup needs to
call pm_runtime_disable.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/adreno/adreno_gpu.c

index 5db06b5..9f218be 100644 (file)
@@ -1021,11 +1021,14 @@ int adreno_gpu_init(struct drm_device *drm, struct platform_device *pdev,
 void adreno_gpu_cleanup(struct adreno_gpu *adreno_gpu)
 {
        struct msm_gpu *gpu = &adreno_gpu->base;
+       struct msm_drm_private *priv = gpu->dev->dev_private;
        unsigned int i;
 
        for (i = 0; i < ARRAY_SIZE(adreno_gpu->info->fw); i++)
                release_firmware(adreno_gpu->fw[i]);
 
+       pm_runtime_disable(&priv->gpu_pdev->dev);
+
        icc_put(gpu->icc_path);
        icc_put(gpu->ocmem_icc_path);