Merge branch 'mkp-fixes' into fixes
[firefly-linux-kernel-4.4.55.git] / drivers / of / platform.c
index 1001efaedcb8681f08f575ec80b743240dc80893..af98343614d8eeebeabc1fa0c74337029cd70335 100644 (file)
@@ -405,8 +405,10 @@ int of_platform_bus_probe(struct device_node *root,
                if (!of_match_node(matches, child))
                        continue;
                rc = of_platform_bus_create(child, matches, NULL, parent, false);
-               if (rc)
+               if (rc) {
+                       of_node_put(child);
                        break;
+               }
        }
 
        of_node_put(root);
@@ -447,8 +449,10 @@ int of_platform_populate(struct device_node *root,
 
        for_each_child_of_node(root, child) {
                rc = of_platform_bus_create(child, matches, lookup, parent, true);
-               if (rc)
+               if (rc) {
+                       of_node_put(child);
                        break;
+               }
        }
        of_node_set_flag(root, OF_POPULATED_BUS);