Message ID | 20200905083058.1631726-1-yukuai3@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/mediatek: add missing put_device() call in mtk_ddp_comp_init() | expand |
Hi Yu Kuai: Yu Kuai <yukuai3@huawei.com> 於 2020年9月5日 週六 下午4:31寫道: > > if of_find_device_by_node() succeed, mtk_ddp_comp_init() doesn't have > a corresponding put_device(). Thus add put_device() to fix the exception > handling for this function implementation. > This patch looks good to me, but I find another thing related to this. mtk_ddp_comp_init() is called in a loop in mtk_drm_probe(), when this component init fail, I think we should uninitialize previous successive init component and put their device. Would you like to make this patch more complete? Regards, Chun-Kuang. > Fixes: d0afe37f5209 ("drm/mediatek: support CMDQ interface in ddp component") > Signed-off-by: Yu Kuai <yukuai3@huawei.com> > --- > drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > index 57c88de9a329..526648885b97 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > @@ -496,6 +496,7 @@ int mtk_ddp_comp_init(struct device *dev, struct device_node *node, > #if IS_REACHABLE(CONFIG_MTK_CMDQ) > if (of_address_to_resource(node, 0, &res) != 0) { > dev_err(dev, "Missing reg in %s node\n", node->full_name); > + put_device(&larb_pdev->dev); > return -EINVAL; > } > comp->regs_pa = res.start; > -- > 2.25.4 >
On 2020/09/08 6:56, Chun-Kuang Hu wrote: > Hi Yu Kuai: > > Yu Kuai <yukuai3@huawei.com> 於 2020年9月5日 週六 下午4:31寫道: >> >> if of_find_device_by_node() succeed, mtk_ddp_comp_init() doesn't have >> a corresponding put_device(). Thus add put_device() to fix the exception >> handling for this function implementation. >> > > This patch looks good to me, but I find another thing related to this. > mtk_ddp_comp_init() is called in a loop in mtk_drm_probe(), when this > component init fail, I think we should uninitialize previous > successive init component and put their device. Would you like to make > this patch more complete? Hi, Of course, thank you for your review. Best regards, Yu Kuai
Hi, Yu Kuai: Yu Kuai <yukuai3@huawei.com> 於 2020年9月5日 週六 下午4:31寫道: > > if of_find_device_by_node() succeed, mtk_ddp_comp_init() doesn't have > a corresponding put_device(). Thus add put_device() to fix the exception > handling for this function implementation. > Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org> > Fixes: d0afe37f5209 ("drm/mediatek: support CMDQ interface in ddp component") > Signed-off-by: Yu Kuai <yukuai3@huawei.com> > --- > drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > index 57c88de9a329..526648885b97 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c > @@ -496,6 +496,7 @@ int mtk_ddp_comp_init(struct device *dev, struct device_node *node, > #if IS_REACHABLE(CONFIG_MTK_CMDQ) > if (of_address_to_resource(node, 0, &res) != 0) { > dev_err(dev, "Missing reg in %s node\n", node->full_name); > + put_device(&larb_pdev->dev); > return -EINVAL; > } > comp->regs_pa = res.start; > -- > 2.25.4 >
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c index 57c88de9a329..526648885b97 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c @@ -496,6 +496,7 @@ int mtk_ddp_comp_init(struct device *dev, struct device_node *node, #if IS_REACHABLE(CONFIG_MTK_CMDQ) if (of_address_to_resource(node, 0, &res) != 0) { dev_err(dev, "Missing reg in %s node\n", node->full_name); + put_device(&larb_pdev->dev); return -EINVAL; } comp->regs_pa = res.start;
if of_find_device_by_node() succeed, mtk_ddp_comp_init() doesn't have a corresponding put_device(). Thus add put_device() to fix the exception handling for this function implementation. Fixes: d0afe37f5209 ("drm/mediatek: support CMDQ interface in ddp component") Signed-off-by: Yu Kuai <yukuai3@huawei.com> --- drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 1 + 1 file changed, 1 insertion(+)