diff options
author | Pavel Machek <pavel@denx.de> | 2020-03-09 11:14:10 +0100 |
---|---|---|
committer | Rob Clark <robdclark@chromium.org> | 2020-03-19 12:09:04 -0700 |
commit | 66be340f827554cb1c8a1ed7dea97920b4085af2 (patch) | |
tree | 31e5626bc4dd827e09aab68a53aa2ded16b6d4a7 /drivers/gpu/drm/msm | |
parent | c479017faa3a9f6c60ea18ffe44e20b33487e10e (diff) | |
download | lwn-66be340f827554cb1c8a1ed7dea97920b4085af2.tar.gz lwn-66be340f827554cb1c8a1ed7dea97920b4085af2.zip |
drm/msm: fix leaks if initialization fails
We should free resources in unlikely case of allocation failure.
Signed-off-by: Pavel Machek <pavel@denx.de>
Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'drivers/gpu/drm/msm')
-rw-r--r-- | drivers/gpu/drm/msm/msm_drv.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index e4b750b0c2d3..7d985f8865be 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -444,8 +444,10 @@ static int msm_drm_init(struct device *dev, struct drm_driver *drv) if (!dev->dma_parms) { dev->dma_parms = devm_kzalloc(dev, sizeof(*dev->dma_parms), GFP_KERNEL); - if (!dev->dma_parms) - return -ENOMEM; + if (!dev->dma_parms) { + ret = -ENOMEM; + goto err_msm_uninit; + } } dma_set_max_seg_size(dev, DMA_BIT_MASK(32)); |