diff --git a/msm/sde/sde_kms.c b/msm/sde/sde_kms.c index c770ba015b..ade246cd11 100644 --- a/msm/sde/sde_kms.c +++ b/msm/sde/sde_kms.c @@ -1489,7 +1489,9 @@ static int _sde_kms_setup_displays(struct drm_device *dev, /* update display cap to MST_MODE for DP MST encoders */ info.capabilities |= MSM_DISPLAY_CAP_MST_MODE; - for (idx = 0; idx < sde_kms->dp_stream_count; idx++) { + + for (idx = 0; idx < sde_kms->dp_stream_count && + priv->num_encoders < max_encoders; idx++) { info.h_tile_instance[0] = idx; encoder = sde_encoder_init(dev, &info); if (IS_ERR_OR_NULL(encoder)) {