From 441dc79ab0c4f0d6961a474cf950f04a61b44b40 Mon Sep 17 00:00:00 2001 From: Prabhanjan Kandula Date: Mon, 13 Apr 2020 11:39:35 -0700 Subject: [PATCH] disp: msm: sde: avoid resource reservations clean up leak Resource reservation of an atomic state should be cleared irrespective of the state of a display. This change relaxes the encoder - connector chain up check as this may not be available during a modeset disable outputs scenario. Change-Id: I8a51973b7c77787ff19d894458a1b73580b93de2 Signed-off-by: Prabhanjan Kandula --- msm/sde/sde_rm.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/msm/sde/sde_rm.c b/msm/sde/sde_rm.c index 4fd6c34d25..ab341564a7 100644 --- a/msm/sde/sde_rm.c +++ b/msm/sde/sde_rm.c @@ -2173,7 +2173,7 @@ void sde_rm_release(struct sde_rm *rm, struct drm_encoder *enc, bool nxt) struct drm_connector *conn = NULL; struct msm_drm_private *priv; struct sde_kms *sde_kms; - uint64_t top_ctrl; + uint64_t top_ctrl = 0; if (!rm || !enc) { SDE_ERROR("invalid params\n"); @@ -2206,8 +2206,10 @@ void sde_rm_release(struct sde_rm *rm, struct drm_encoder *enc, bool nxt) conn = _sde_rm_get_connector(enc); if (!conn) { - SDE_ERROR("failed to get connector for enc %d, nxt %d", + SDE_DEBUG("failed to get connector for enc %d, nxt %d", enc->base.id, nxt); + SDE_EVT32(enc->base.id, 0x0, 0xffffffff); + _sde_rm_release_rsvp(rm, rsvp, conn); goto end; }