Le 23/08/2024 à 12:46, Christophe JAILLET a écrit :
@@ -933,10 +931,8 @@ static int mtk_drm_probe(struct platform_device
*pdev)
}
ret = mtk_ddp_comp_init(node, &private->ddp_comp[comp_id],
comp_id);
- if (ret) {
- of_node_put(node);
+ if (ret)
goto err_node;
Hi,
I've seen on another thread that is was not sure that scoped versions
and gotos played well together.
It was asked to check more in details and confirm that it was safe
before applying the patch.
I've not followed the discussion, so I just point it out, in case it helps.
I'll try to give it a look in the coming days.
CJ
Hi,
looking at the generated asm file (gcc 14.2.1), everything looks fine.
# drivers/gpu/drm/mediatek/mtk_drm_drv.c:933: ret =
mtk_ddp_comp_init(node, &private->ddp_comp[comp_id], comp_id);
salq $5, %rax #, _36
movl %r14d, %edx # comp_id,
movq %rbx, %rdi # node,
leaq 552(%rbp,%rax), %rsi #, _28
call mtk_ddp_comp_init #
movl %eax, %r12d # tmp205, <retval>
# drivers/gpu/drm/mediatek/mtk_drm_drv.c:934: if (ret)
testl %eax, %eax # <retval>
jne .L212 #,
...
.L212:
# ./include/linux/of.h:138: DEFINE_FREE(device_node, struct device_node
*, if (_T) of_node_put(_T))
movq %rbx, %rdi # node,
call of_node_put #
jmp .L171 #
CJ