Browse Source

disp: msm: sde: update input fence after plane state destroy

In few cases, even though input fence is freed, it might
get accessed through debugfs node while dumping fence list.
This change updates input fence to NULL in plane state
destroy once it is freed to prevent accessing it further.

Change-Id: I1a3799249e6a177af87653e17d014d1dad7ca638
Signed-off-by: Yashwanth <[email protected]>
Yashwanth 4 years ago
parent
commit
312bd53656
2 changed files with 2 additions and 0 deletions
  1. 1 0
      msm/sde/sde_crtc.c
  2. 1 0
      msm/sde/sde_plane.c

+ 1 - 0
msm/sde/sde_crtc.c

@@ -6150,6 +6150,7 @@ static int _sde_debugfs_fence_status_show(struct seq_file *s, void *data)
 			pstate->stage);
 			pstate->stage);
 
 
 		fence = pstate->input_fence;
 		fence = pstate->input_fence;
+		SDE_EVT32(DRMID(crtc), fence);
 		if (fence)
 		if (fence)
 			sde_fence_list_dump(fence, &s);
 			sde_fence_list_dump(fence, &s);
 	}
 	}

+ 1 - 0
msm/sde/sde_plane.c

@@ -4166,6 +4166,7 @@ static void sde_plane_destroy_state(struct drm_plane *plane,
 	/* remove ref count for fence */
 	/* remove ref count for fence */
 	if (pstate->input_fence)
 	if (pstate->input_fence)
 		sde_sync_put(pstate->input_fence);
 		sde_sync_put(pstate->input_fence);
+	pstate->input_fence = 0;
 
 
 	/* destroy value helper */
 	/* destroy value helper */
 	msm_property_destroy_state(&psde->property_info, pstate,
 	msm_property_destroy_state(&psde->property_info, pstate,