goto error;
        }
 
-       /* Update the actual used number of crtc */
-       adev->mode_info.num_crtc = adev->dm.display_indexes_num;
-
        /* create fake encoders for MST */
        dm_dp_create_fake_mst_encoders(adev);
 
        enum dc_connection_type new_connection_type = dc_connection_none;
        const struct dc_plane_cap *plane;
 
+       dm->display_indexes_num = dm->dc->caps.max_streams;
+       /* Update the actual used number of crtc */
+       adev->mode_info.num_crtc = adev->dm.display_indexes_num;
+
        link_cnt = dm->dc->caps.max_links;
        if (amdgpu_dm_mode_config_init(dm->adev)) {
                DRM_ERROR("DM: Failed to initialize mode config\n");
                        goto fail;
                }
 
-       dm->display_indexes_num = dm->dc->caps.max_streams;
-
        /* loops over all connectors on the board */
        for (i = 0; i < link_cnt; i++) {
                struct dc_link *link = NULL;