From 312bd5365620f0df4f7474932b26c964060342cf Mon Sep 17 00:00:00 2001 From: Yashwanth Date: Wed, 26 Aug 2020 16:32:38 +0530 Subject: [PATCH] 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 --- msm/sde/sde_crtc.c | 1 + msm/sde/sde_plane.c | 1 + 2 files changed, 2 insertions(+) diff --git a/msm/sde/sde_crtc.c b/msm/sde/sde_crtc.c index cbe4ed8ee1..3843dcbb40 100644 --- a/msm/sde/sde_crtc.c +++ b/msm/sde/sde_crtc.c @@ -6150,6 +6150,7 @@ static int _sde_debugfs_fence_status_show(struct seq_file *s, void *data) pstate->stage); fence = pstate->input_fence; + SDE_EVT32(DRMID(crtc), fence); if (fence) sde_fence_list_dump(fence, &s); } diff --git a/msm/sde/sde_plane.c b/msm/sde/sde_plane.c index d2a0ad44a3..20c1fb1d14 100644 --- a/msm/sde/sde_plane.c +++ b/msm/sde/sde_plane.c @@ -4166,6 +4166,7 @@ static void sde_plane_destroy_state(struct drm_plane *plane, /* remove ref count for fence */ if (pstate->input_fence) sde_sync_put(pstate->input_fence); + pstate->input_fence = 0; /* destroy value helper */ msm_property_destroy_state(&psde->property_info, pstate,