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

Reply via email to