Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b855f16b authored by Tang Yuantian's avatar Tang Yuantian Committed by Grant Likely
Browse files

of/base: release the node correctly in of_parse_phandle_with_args()



Call of_node_put() only when the out_args is NULL on success,
or the node's reference count will not be correct because the caller
will call of_node_put() again.

Signed-off-by: default avatarTang Yuantian <Yuantian.Tang@freescale.com>
[grant.likely: tightened up the patch]
Signed-off-by: default avatarGrant Likely <grant.likely@linaro.org>
parent 48d045db
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -1166,11 +1166,11 @@ static int __of_parse_phandle_with_args(const struct device_node *np,
				out_args->args_count = count;
				out_args->args_count = count;
				for (i = 0; i < count; i++)
				for (i = 0; i < count; i++)
					out_args->args[i] = be32_to_cpup(list++);
					out_args->args[i] = be32_to_cpup(list++);
			} else {
				of_node_put(node);
			}
			}


			/* Found it! return success */
			/* Found it! return success */
			if (node)
				of_node_put(node);
			return 0;
			return 0;
		}
		}