hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/gpu/drm/msm/adreno/adreno_gpu.c
....@@ -916,7 +916,6 @@
916916 pm_runtime_set_autosuspend_delay(dev,
917917 adreno_gpu->info->inactive_period);
918918 pm_runtime_use_autosuspend(dev);
919
- pm_runtime_enable(dev);
920919
921920 ret = msm_gpu_init(drm, pdev, &adreno_gpu->base, &funcs->base,
922921 adreno_gpu->info->name, &adreno_gpu_config);
....@@ -954,13 +953,13 @@
954953 void adreno_gpu_cleanup(struct adreno_gpu *adreno_gpu)
955954 {
956955 struct msm_gpu *gpu = &adreno_gpu->base;
957
- struct msm_drm_private *priv = gpu->dev->dev_private;
956
+ struct msm_drm_private *priv = gpu->dev ? gpu->dev->dev_private : NULL;
958957 unsigned int i;
959958
960959 for (i = 0; i < ARRAY_SIZE(adreno_gpu->info->fw); i++)
961960 release_firmware(adreno_gpu->fw[i]);
962961
963
- if (pm_runtime_enabled(&priv->gpu_pdev->dev))
962
+ if (priv && pm_runtime_enabled(&priv->gpu_pdev->dev))
964963 pm_runtime_disable(&priv->gpu_pdev->dev);
965964
966965 msm_gpu_cleanup(&adreno_gpu->base);