diff options
author | Frank Rowand <frowand.list@gmail.com> | 2023-02-13 19:57:01 +0100 |
---|---|---|
committer | Rob Herring <robh@kernel.org> | 2023-02-20 22:37:19 +0100 |
commit | ec0b7e24d566a843e3cfba21a6471170fdb0f810 (patch) | |
tree | fdb2db20af328846479dca1267ef77ad9f73b23c /drivers/of | |
parent | of: do not use "%pOF" printk format on node with refcount of zero (diff) | |
download | linux-ec0b7e24d566a843e3cfba21a6471170fdb0f810.tar.xz linux-ec0b7e24d566a843e3cfba21a6471170fdb0f810.zip |
of: add consistency check to of_node_release()
Add an additional consistency check to of_node_release(), which is
called when the reference count of a devicetree node is decremented
to zero. The node's children should have been deleted before the
node is deleted so check that no children exist.
Signed-off-by: Frank Rowand <frowand.list@gmail.com>
Link: https://lore.kernel.org/r/20230213185702.395776-7-frowand.list@gmail.com
Signed-off-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'drivers/of')
-rw-r--r-- | drivers/of/dynamic.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/of/dynamic.c b/drivers/of/dynamic.c index dbcbc41f3465..657a65006056 100644 --- a/drivers/of/dynamic.c +++ b/drivers/of/dynamic.c @@ -377,6 +377,10 @@ void of_node_release(struct kobject *kobj) __func__, node); } + if (node->child) + pr_err("ERROR: %s() unexpected children for %pOF/%s\n", + __func__, node->parent, node->full_name); + property_list_free(node->properties); property_list_free(node->deadprops); fwnode_links_purge(of_fwnode_handle(node)); |