drm/msm: don't clean up priv->kms prematurely
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Sat, 20 Apr 2024 02:33:01 +0000 (05:33 +0300)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tue, 24 Dec 2024 18:57:59 +0000 (20:57 +0200)
MSM display drivers provide kms structure allocated during probe().
Don't clean up priv->kms field in case of an error. Otherwise probe
functions might fail after KMS probe deferral.

Fixes: a2ab5d5bb6b1 ("drm/msm: allow passing struct msm_kms to msm_drv_probe()")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Fixes: 506efcba3129 ("drm/msm: carve out KMS code from msm_drv.c")
Patchwork: https://patchwork.freedesktop.org/patch/590411/
Link: https://lore.kernel.org/r/20240420-mdp4-fixes-v1-1-96a70f64fa85@linaro.org
drivers/gpu/drm/msm/msm_kms.c

index f3326d09bdbce19d40d0b48549c330c2b836476f..4cfad12f4dc1f91a78b36572f6643ac135e00067 100644 (file)
@@ -244,7 +244,6 @@ int msm_drm_kms_init(struct device *dev, const struct drm_driver *drv)
        ret = priv->kms_init(ddev);
        if (ret) {
                DRM_DEV_ERROR(dev, "failed to load kms\n");
-               priv->kms = NULL;
                return ret;
        }