firmware: stratix10-svc: fix wrong of_node_put() in init function
authorNicolas Saenz Julienne <nsaenzjulienne@suse.de>
Mon, 3 Dec 2018 17:27:21 +0000 (18:27 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Dec 2018 14:42:18 +0000 (15:42 +0100)
After finding a "firmware" dt node stratix10 tries to match it's
compatible string with it. To do so it's calling of_find_matching_node()
which already takes care of decreasing the refcount on the "firmware"
node. We are then incorrectly decreasing the refcount on that node
again.

This patch removes the unwarranted call to of_node_put().

Fixes: 7ca5ce896524 ("firmware: add Intel Stratix10 service layer driver")
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/firmware/stratix10-svc.c

index 81f3182e290df237fed9fd927690aff03f4bbb9c..6e6514825ad022d3e311b9a8c2de66d3aa578e0e 100644 (file)
@@ -1016,14 +1016,11 @@ static int __init stratix10_svc_init(void)
                return -ENODEV;
 
        np = of_find_matching_node(fw_np, stratix10_svc_drv_match);
-       if (!np) {
-               of_node_put(fw_np);
+       if (!np)
                return -ENODEV;
-       }
 
        of_node_put(np);
        ret = of_platform_populate(fw_np, stratix10_svc_drv_match, NULL, NULL);
-       of_node_put(fw_np);
        if (ret)
                return ret;