|
@@ -1604,6 +1604,7 @@ static void dp_display_attention_work(struct work_struct *work)
|
|
|
{
|
|
|
struct dp_display_private *dp = container_of(work,
|
|
|
struct dp_display_private, attention_work);
|
|
|
+ int rc = 0;
|
|
|
|
|
|
SDE_EVT32_EXTERNAL(SDE_EVTLOG_FUNC_ENTRY, dp->state);
|
|
|
mutex_lock(&dp->session_lock);
|
|
@@ -1673,16 +1674,20 @@ static void dp_display_attention_work(struct work_struct *work)
|
|
|
if (dp->link->sink_request & DP_TEST_LINK_TRAINING) {
|
|
|
SDE_EVT32_EXTERNAL(dp->state, DP_TEST_LINK_TRAINING);
|
|
|
dp->link->send_test_response(dp->link);
|
|
|
- dp->ctrl->link_maintenance(dp->ctrl);
|
|
|
+ rc = dp->ctrl->link_maintenance(dp->ctrl);
|
|
|
}
|
|
|
|
|
|
if (dp->link->sink_request & DP_LINK_STATUS_UPDATED) {
|
|
|
SDE_EVT32_EXTERNAL(dp->state, DP_LINK_STATUS_UPDATED);
|
|
|
- dp->ctrl->link_maintenance(dp->ctrl);
|
|
|
+ rc = dp->ctrl->link_maintenance(dp->ctrl);
|
|
|
}
|
|
|
|
|
|
- dp_audio_enable(dp, true);
|
|
|
+ if (!rc)
|
|
|
+ dp_audio_enable(dp, true);
|
|
|
+
|
|
|
mutex_unlock(&dp->session_lock);
|
|
|
+ if (rc)
|
|
|
+ goto exit;
|
|
|
|
|
|
if (dp->link->sink_request & (DP_TEST_LINK_PHY_TEST_PATTERN |
|
|
|
DP_TEST_LINK_TRAINING))
|