struct dc  *dc = link->ctx->dc;
 
        if (!link->wa_flags.dp_keep_receiver_powered &&
-               !link->skip_implict_edp_power_control)
+                       !link->skip_implict_edp_power_control &&
+                       link->type != dc_connection_none)
                dpcd_write_rx_power_ctrl(link, false);
 
        dc->hwss.disable_link_output(link, link_res, signal);
        } else {
                if (link->fec_state == dc_link_fec_ready) {
                        fec_config = 0;
-                       core_link_write_dpcd(link, DP_FEC_CONFIGURATION,
-                               &fec_config, sizeof(fec_config));
+                       if (link->type != dc_connection_none)
+                               core_link_write_dpcd(link, DP_FEC_CONFIGURATION,
+                                       &fec_config, sizeof(fec_config));
 
                        link_enc->funcs->fec_set_ready(link_enc, false);
                        link->fec_state = dc_link_fec_not_ready;