Skip to content

Commit

Permalink
drm/msm: fix drm device leak on bind errors
Browse files Browse the repository at this point in the history
commit 214b09d upstream.

Make sure to free the DRM device also in case of early errors during
bind().

Fixes: 2027e5b ("drm/msm: Initialize MDSS irq domain at probe time")
Cc: stable@vger.kernel.org      # 5.17
Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/525097/
Link: https://lore.kernel.org/r/20230306100722.28485-6-johan+linaro@kernel.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
jhovold authored and gregkh committed May 17, 2023
1 parent dd8ce82 commit 0fad173
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions drivers/gpu/drm/msm/msm_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -446,12 +446,12 @@ static int msm_drm_init(struct device *dev, const struct drm_driver *drv)

ret = msm_init_vram(ddev);
if (ret)
return ret;
goto err_put_dev;

/* Bind all our sub-components: */
ret = component_bind_all(dev, ddev);
if (ret)
return ret;
goto err_put_dev;

dma_set_max_seg_size(dev, UINT_MAX);

Expand Down Expand Up @@ -546,6 +546,12 @@ static int msm_drm_init(struct device *dev, const struct drm_driver *drv)

err_msm_uninit:
msm_drm_uninit(dev);

return ret;

err_put_dev:
drm_dev_put(ddev);

return ret;
}

Expand Down

0 comments on commit 0fad173

Please sign in to comment.