| .. | .. | 
|---|
| 916 | 916 | pm_runtime_set_autosuspend_delay(dev, | 
|---|
| 917 | 917 | adreno_gpu->info->inactive_period); | 
|---|
| 918 | 918 | pm_runtime_use_autosuspend(dev); | 
|---|
| 919 |  | -	pm_runtime_enable(dev); | 
|---|
| 920 | 919 |  | 
|---|
| 921 | 920 | ret = msm_gpu_init(drm, pdev, &adreno_gpu->base, &funcs->base, | 
|---|
| 922 | 921 | adreno_gpu->info->name, &adreno_gpu_config); | 
|---|
| .. | .. | 
|---|
| 954 | 953 | void adreno_gpu_cleanup(struct adreno_gpu *adreno_gpu) | 
|---|
| 955 | 954 | { | 
|---|
| 956 | 955 | 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; | 
|---|
| 958 | 957 | unsigned int i; | 
|---|
| 959 | 958 |  | 
|---|
| 960 | 959 | for (i = 0; i < ARRAY_SIZE(adreno_gpu->info->fw); i++) | 
|---|
| 961 | 960 | release_firmware(adreno_gpu->fw[i]); | 
|---|
| 962 | 961 |  | 
|---|
| 963 |  | -	if (pm_runtime_enabled(&priv->gpu_pdev->dev)) | 
|---|
|  | 962 | +	if (priv && pm_runtime_enabled(&priv->gpu_pdev->dev)) | 
|---|
| 964 | 963 | pm_runtime_disable(&priv->gpu_pdev->dev); | 
|---|
| 965 | 964 |  | 
|---|
| 966 | 965 | msm_gpu_cleanup(&adreno_gpu->base); | 
|---|