Skip to content

Commit

Permalink
drm/mediatek: Add missing put_device() call in mtk_drm_kms_init()
Browse files Browse the repository at this point in the history
[ Upstream commit 2132940 ]

if of_find_device_by_node() succeed, mtk_drm_kms_init() doesn't have
a corresponding put_device(). Thus add jump target to fix the exception
handling for this function implementation.

Fixes: 119f517 ("drm/mediatek: Add DRM Driver for Mediatek SoC MT8173.")
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
YuKuai-huawei authored and gregkh committed Sep 23, 2020
1 parent a51fc61 commit d1025c5
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions drivers/gpu/drm/mediatek/mtk_drm_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ static int mtk_drm_kms_init(struct drm_device *drm)

ret = drmm_mode_config_init(drm);
if (ret)
return ret;
goto put_mutex_dev;

drm->mode_config.min_width = 64;
drm->mode_config.min_height = 64;
Expand All @@ -182,7 +182,7 @@ static int mtk_drm_kms_init(struct drm_device *drm)

ret = component_bind_all(drm->dev, drm);
if (ret)
return ret;
goto put_mutex_dev;

/*
* We currently support two fixed data streams, each optional,
Expand Down Expand Up @@ -229,7 +229,7 @@ static int mtk_drm_kms_init(struct drm_device *drm)
}
if (!dma_dev->dma_parms) {
ret = -ENOMEM;
goto err_component_unbind;
goto put_dma_dev;
}

ret = dma_set_max_seg_size(dma_dev, (unsigned int)DMA_BIT_MASK(32));
Expand All @@ -256,9 +256,12 @@ static int mtk_drm_kms_init(struct drm_device *drm)
err_unset_dma_parms:
if (private->dma_parms_allocated)
dma_dev->dma_parms = NULL;
put_dma_dev:
put_device(private->dma_dev);
err_component_unbind:
component_unbind_all(drm->dev, drm);

put_mutex_dev:
put_device(private->mutex_dev);
return ret;
}

Expand Down

0 comments on commit d1025c5

Please sign in to comment.