diff --git a/msm/dp/dp_display.c b/msm/dp/dp_display.c index 2dcb67dd04..a07efd5e44 100644 --- a/msm/dp/dp_display.c +++ b/msm/dp/dp_display.c @@ -1363,7 +1363,8 @@ static int dp_display_usbpd_disconnect_cb(struct device *dev) dp->debug->psm_enabled); /* skip if a disconnect is already in progress */ - if (dp_display_state_is(DP_STATE_ABORTED)) { + if (dp_display_state_is(DP_STATE_ABORTED) && + dp_display_state_is(DP_STATE_READY)) { DP_DEBUG("disconnect already in progress\n"); SDE_EVT32_EXTERNAL(SDE_EVTLOG_FUNC_CASE1, dp->state); return 0;