drm/msm/dpu: remove extra drm_encoder_cleanup from the error path
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 11 Dec 2023 14:54:40 +0000 (17:54 +0300)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Thu, 14 Dec 2023 07:27:23 +0000 (09:27 +0200)
The drmm handler will perform drm_encoder_cleanup() for us. Moreover if
we call drm_encoder_cleanup() manually, the drmm_encoder_alloc_release()
will spawn warnings at drivers/gpu/drm/drm_encoder.c:214. Drop these
extra drm_encoder_cleanup() calls.

Fixes: cd42c56d9c0b ("drm/msm/dpu: use drmm-managed allocation for dpu_encoder_virt")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reported-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Tested-by: Abhinav Kumar <quic_abhinavk@quicinc.com> #sm8250 CI
Patchwork: https://patchwork.freedesktop.org/patch/571562/
Link: https://lore.kernel.org/r/20231211145440.3647001-1-dmitry.baryshkov@linaro.org
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c

index dc24fe4bb3b0cfad864bf3006f96cbd1eb090f5d..d60edb93d4f7a3fd9a4ac23877377aefa632ae6a 100644 (file)
@@ -586,7 +586,6 @@ static int _dpu_kms_initialize_displayport(struct drm_device *dev,
                rc = msm_dp_modeset_init(priv->dp[i], dev, encoder);
                if (rc) {
                        DPU_ERROR("modeset_init failed for DP, rc = %d\n", rc);
-                       drm_encoder_cleanup(encoder);
                        return rc;
                }
        }
@@ -619,7 +618,6 @@ static int _dpu_kms_initialize_hdmi(struct drm_device *dev,
        rc = msm_hdmi_modeset_init(priv->hdmi, dev, encoder);
        if (rc) {
                DPU_ERROR("modeset_init failed for DP, rc = %d\n", rc);
-               drm_encoder_cleanup(encoder);
                return rc;
        }
 
@@ -651,7 +649,6 @@ static int _dpu_kms_initialize_writeback(struct drm_device *dev,
                        n_formats);
        if (rc) {
                DPU_ERROR("dpu_writeback_init, rc = %d\n", rc);
-               drm_encoder_cleanup(encoder);
                return rc;
        }