Forráskód Böngészése

Merge "disp: msm: dp: ensure display is disabled before deinit"

qctecmdr 5 éve
szülő
commit
b41ee8cf11
1 módosított fájl, 8 hozzáadás és 1 törlés
  1. 8 1
      msm/dp/dp_display.c

+ 8 - 1
msm/dp/dp_display.c

@@ -1286,7 +1286,7 @@ static int dp_display_handle_disconnect(struct dp_display_private *dp)
 	}
 
 	mutex_lock(&dp->session_lock);
-	if (rc && dp_display_state_is(DP_STATE_ENABLED))
+	if (dp_display_state_is(DP_STATE_ENABLED))
 		dp_display_clean(dp);
 
 	dp_display_host_unready(dp);
@@ -1334,6 +1334,13 @@ static int dp_display_usbpd_disconnect_cb(struct device *dev)
 	SDE_EVT32_EXTERNAL(SDE_EVTLOG_FUNC_ENTRY, dp->state,
 			dp->debug->psm_enabled);
 
+	/* skip if a disconnect is already in progress */
+	if (dp_display_state_is(DP_STATE_ABORTED)) {
+		DP_DEBUG("disconnect already in progress\n");
+		SDE_EVT32_EXTERNAL(SDE_EVTLOG_FUNC_CASE1, dp->state);
+		return 0;
+	}
+
 	if (dp->debug->psm_enabled && dp_display_state_is(DP_STATE_READY))
 		dp->link->psm_config(dp->link, &dp->panel->link_info, true);