@@ -1469,20 +1469,16 @@ static int __init unittest_data_add(void)
return -EINVAL;
}
- if (!of_root) {
- of_root = unittest_data_node;
- for_each_of_allnodes(np)
- __of_attach_node_sysfs(np);
- of_aliases = of_find_node_by_path("/aliases");
- of_chosen = of_find_node_by_path("/chosen");
- of_overlay_mutex_unlock();
- return 0;
- }
-
EXPECT_BEGIN(KERN_INFO,
"Duplicate name in testcase-data, renamed to \"duplicate-name#1\"");
/* attach the sub-tree to live tree */
+ if (!of_root) {
+ pr_warn("%s: no live tree to attach sub-tree\n", __func__);
+ kfree(unittest_data);
+ return -ENODEV;
+ }
+
np = unittest_data_node->child;
while (np) {
struct device_node *next = np->sibling;
setup_of() now ensures that of_root node is populated with the root of a default devicetree. Remove the unittest code that created of_root if it was missing. Verify that of_root is valid before attempting to attach the testcase-data subtree. Signed-off-by: Frank Rowand <frowand.list@gmail.com> --- Changes since version 1: - refresh for 6.2-rc1 - update Signed-off-by - fix formatting error (leading space) in patch comment drivers/of/unittest.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-)