drm/amdgpu: Don't crash system if we can't get crtc
authorHarry Wentland <harry.wentland@amd.com>
Wed, 25 Nov 2015 20:42:09 +0000 (15:42 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 10 Feb 2016 21:08:40 +0000 (16:08 -0500)
Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c

index e23843f..56f771e 100644 (file)
@@ -727,6 +727,12 @@ int amdgpu_get_vblank_timestamp_kms(struct drm_device *dev, unsigned int pipe,
 
        /* Get associated drm_crtc: */
        crtc = &adev->mode_info.crtcs[pipe]->base;
+       if (!crtc) {
+               /* This can occur on driver load if some component fails to
+                * initialize completely and driver is unloaded */
+               DRM_ERROR("Uninitialized crtc %d\n", pipe);
+               return -EINVAL;
+       }
 
        /* Helper routine in DRM core does all the work: */
        return drm_calc_vbltimestamp_from_scanoutpos(dev, pipe, max_error,