|
@@ -723,8 +723,10 @@ static int dp_ctrl_link_setup(struct dp_ctrl_private *ctrl, bool shallow)
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- if (!link_train_max_retries || atomic_read(&ctrl->aborted))
|
|
|
+ if (!link_train_max_retries || atomic_read(&ctrl->aborted)) {
|
|
|
+ dp_ctrl_disable_link_clock(ctrl);
|
|
|
break;
|
|
|
+ }
|
|
|
|
|
|
if (rc != -EAGAIN)
|
|
|
dp_ctrl_link_rate_down_shift(ctrl);
|
|
@@ -1319,7 +1321,8 @@ static int dp_ctrl_on(struct dp_ctrl *dp_ctrl, bool mst_mode,
|
|
|
ctrl->initial_bw_code = ctrl->link->link_params.bw_code;
|
|
|
|
|
|
rc = dp_ctrl_link_setup(ctrl, shallow);
|
|
|
- ctrl->power_on = true;
|
|
|
+ if (!rc)
|
|
|
+ ctrl->power_on = true;
|
|
|
end:
|
|
|
return rc;
|
|
|
}
|