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: 119f517362
("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>
This commit is contained in:
parent
64c194c007
commit
2132940f21
@ -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)
|
|||||||
|
|
||||||
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)
|
|||||||
}
|
}
|
||||||
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)
|
|||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user