From: Anson Huang <[email protected]>

of_node_put() is called after of_match_node() successfully called,
then in the following error handling, of_node_put() is called again
which is unnecessary, this patch adjusts the location of of_node_put()
to avoid such scenario.

Signed-off-by: Anson Huang <[email protected]>
Reviewed-by: Leonard Crestez <[email protected]>
---
 drivers/soc/imx/soc-imx8.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/soc/imx/soc-imx8.c b/drivers/soc/imx/soc-imx8.c
index 02988bd..d5badde 100644
--- a/drivers/soc/imx/soc-imx8.c
+++ b/drivers/soc/imx/soc-imx8.c
@@ -115,8 +115,6 @@ static int __init imx8_soc_init(void)
        if (!id)
                goto free_soc;
 
-       of_node_put(root);
-
        data = id->data;
        if (data) {
                soc_dev_attr->soc_id = data->name;
@@ -135,6 +133,8 @@ static int __init imx8_soc_init(void)
        if (IS_ENABLED(CONFIG_ARM_IMX_CPUFREQ_DT))
                platform_device_register_simple("imx-cpufreq-dt", -1, NULL, 0);
 
+       of_node_put(root);
+
        return 0;
 
 free_rev:
-- 
2.7.4

Reply via email to