Browse Source

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 <[email protected]>
Prabhanjan Kandula 5 năm trước cách đây
mục cha
commit
441dc79ab0
1 tập tin đã thay đổi với 4 bổ sung2 xóa
  1. 4 2
      msm/sde/sde_rm.c

+ 4 - 2
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;
 	}