node = of_parse_phandle(dev->of_node, "mediatek,larb", 0);
        if (!node) {
                mtk_v4l2_err("no mediatek,larb found");
-               return -1;
+               return -ENODEV;
        }
        pdev = of_find_device_by_node(node);
+       of_node_put(node);
        if (!pdev) {
                mtk_v4l2_err("no mediatek,larb device found");
-               return -1;
+               return -ENODEV;
        }
        pm->larbvenc = &pdev->dev;
 
        node = of_parse_phandle(dev->of_node, "mediatek,larb", 1);
        if (!node) {
                mtk_v4l2_err("no mediatek,larb found");
-               return -1;
+               return -ENODEV;
        }
 
        pdev = of_find_device_by_node(node);
+       of_node_put(node);
        if (!pdev) {
                mtk_v4l2_err("no mediatek,larb device found");
-               return -1;
+               return -ENODEV;
        }
 
        pm->larbvenclt = &pdev->dev;