drm/amd/display: Fix potential nullptr error
authorBhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Tue, 9 Oct 2018 17:47:34 +0000 (13:47 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 5 Nov 2018 19:21:37 +0000 (14:21 -0500)
[Why]
Fix surface/plane potential nullptr

[How]
add null check

Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Reviewed-by: Aric Cyr <Aric.Cyr@amd.com>
Acked-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index d223218d097d6ebb72407634bbe7b132dd0aaa68..5e527de80ca507e17ccae8011d77253637308da2 100644 (file)
@@ -5313,6 +5313,12 @@ enum surface_update_type dm_determine_update_type_for_commit(struct dc *dc, stru
        struct dc_stream_update stream_update;
        enum surface_update_type update_type = UPDATE_TYPE_FAST;
 
+       if (!updates || !surface) {
+               DRM_ERROR("Plane or surface update failed to allocate");
+               /* Set type to FULL to avoid crashing in DC*/
+               update_type = UPDATE_TYPE_FULL;
+               goto ret;
+       }
 
        for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) {
                new_dm_crtc_state = to_dm_crtc_state(new_crtc_state);