diff options
| author | Dan Carpenter <dan.carpenter@linaro.org> | 2025-04-30 11:05:40 +0300 |
|---|---|---|
| committer | Rob Herring (Arm) <robh@kernel.org> | 2025-05-09 17:26:40 -0500 |
| commit | 493e6cb63a21e9f009dc4c209fd311f2bb777656 (patch) | |
| tree | 7ceb2351fe8a6fa2f9afe197eaa288978eec4e27 /drivers/of | |
| parent | 1b765f8bdac2a69602fccc9d069574428338fb43 (diff) | |
of: unittest: Unlock on error in unittest_data_add()
The of_overlay_mutex_unlock() was accidentally deleted if "of_root" is
NULL. Change this to a goto unlock.
Fixes: d1eabd218ede ("of: unittest: treat missing of_root as error instead of fixing up")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/aBHZ1DvXiBcZkWmk@stanley.mountain
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Diffstat (limited to 'drivers/of')
| -rw-r--r-- | drivers/of/unittest.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c index 64d301893af7..eeb370e0f507 100644 --- a/drivers/of/unittest.c +++ b/drivers/of/unittest.c @@ -2029,15 +2029,16 @@ static int __init unittest_data_add(void) rc = of_resolve_phandles(unittest_data_node); if (rc) { pr_err("%s: Failed to resolve phandles (rc=%i)\n", __func__, rc); - of_overlay_mutex_unlock(); - return -EINVAL; + rc = -EINVAL; + goto unlock; } /* 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; + rc = -ENODEV; + goto unlock; } EXPECT_BEGIN(KERN_INFO, @@ -2056,9 +2057,10 @@ static int __init unittest_data_add(void) EXPECT_END(KERN_INFO, "Duplicate name in testcase-data, renamed to \"duplicate-name#1\""); +unlock: of_overlay_mutex_unlock(); - return 0; + return rc; } #ifdef CONFIG_OF_OVERLAY |
