Commit 2132940f authored by Yu Kuai's avatar Yu Kuai Committed by Chun-Kuang Hu

drm/mediatek: Add missing put_device() call in mtk_drm_kms_init()

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: 119f5173 ("drm/mediatek: Add DRM Driver for Mediatek SoC MT8173.")
Signed-off-by: default avatarYu Kuai <yukuai3@huawei.com>
Signed-off-by: default avatarChun-Kuang Hu <chunkuang.hu@kernel.org>
parent 64c194c0
...@@ -164,7 +164,7 @@ static int mtk_drm_kms_init(struct drm_device *drm) ...@@ -164,7 +164,7 @@ static int mtk_drm_kms_init(struct drm_device *drm)
ret = drmm_mode_config_init(drm); ret = drmm_mode_config_init(drm);
if (ret) if (ret)
return ret; goto put_mutex_dev;
drm->mode_config.min_width = 64; drm->mode_config.min_width = 64;
drm->mode_config.min_height = 64; drm->mode_config.min_height = 64;
...@@ -181,7 +181,7 @@ static int mtk_drm_kms_init(struct drm_device *drm) ...@@ -181,7 +181,7 @@ static int mtk_drm_kms_init(struct drm_device *drm)
ret = component_bind_all(drm->dev, drm); ret = component_bind_all(drm->dev, drm);
if (ret) if (ret)
return ret; goto put_mutex_dev;
/* /*
* We currently support two fixed data streams, each optional, * We currently support two fixed data streams, each optional,
...@@ -228,7 +228,7 @@ static int mtk_drm_kms_init(struct drm_device *drm) ...@@ -228,7 +228,7 @@ static int mtk_drm_kms_init(struct drm_device *drm)
} }
if (!dma_dev->dma_parms) { if (!dma_dev->dma_parms) {
ret = -ENOMEM; ret = -ENOMEM;
goto err_component_unbind; goto put_dma_dev;
} }
ret = dma_set_max_seg_size(dma_dev, (unsigned int)DMA_BIT_MASK(32)); ret = dma_set_max_seg_size(dma_dev, (unsigned int)DMA_BIT_MASK(32));
...@@ -255,9 +255,12 @@ static int mtk_drm_kms_init(struct drm_device *drm) ...@@ -255,9 +255,12 @@ static int mtk_drm_kms_init(struct drm_device *drm)
err_unset_dma_parms: err_unset_dma_parms:
if (private->dma_parms_allocated) if (private->dma_parms_allocated)
dma_dev->dma_parms = NULL; dma_dev->dma_parms = NULL;
put_dma_dev:
put_device(private->dma_dev);
err_component_unbind: err_component_unbind:
component_unbind_all(drm->dev, drm); component_unbind_all(drm->dev, drm);
put_mutex_dev:
put_device(private->mutex_dev);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment