firmware: qcom: scm: Fix incorrect of_node_put call in scm_init

Message ID 1512489134-28220-1-git-send-email-lollivier@baylibre.com
State New
Headers show
Series
  • firmware: qcom: scm: Fix incorrect of_node_put call in scm_init
Related show

Commit Message

Loys Ollivier Dec. 5, 2017, 3:52 p.m.
When using other platform architectures, in the init of the qcom_scm
driver, of_node_put is called on /firmware if no qcom dt is found.
This results in a kernel error: Bad of_node_put() on /firmware.

The call to of_node_put from the qcom_scm init is unnecessary as
of_find_matching_node is calling it automatically.

Remove this of_node_put().

Fixes: d0f6fa7ba2d6 ("firmware: qcom: scm: Convert SCM to platform driver")
Signed-off-by: Loys Ollivier <lollivier@baylibre.com>

---
 drivers/firmware/qcom_scm.c | 1 -
 1 file changed, 1 deletion(-)

-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Loys Ollivier Dec. 6, 2017, 9:54 a.m. | #1
Please discard this patch. The if statement becoming a one liner, the
curly brackets should be removed. I will send a v2.

On 05/12/2017 16:52, Loys Ollivier wrote:
> When using other platform architectures, in the init of the qcom_scm

> driver, of_node_put is called on /firmware if no qcom dt is found.

> This results in a kernel error: Bad of_node_put() on /firmware.

> 

> The call to of_node_put from the qcom_scm init is unnecessary as

> of_find_matching_node is calling it automatically.

> 

> Remove this of_node_put().

> 

> Fixes: d0f6fa7ba2d6 ("firmware: qcom: scm: Convert SCM to platform driver")

> Signed-off-by: Loys Ollivier <lollivier@baylibre.com>

> ---

>  drivers/firmware/qcom_scm.c | 1 -

>  1 file changed, 1 deletion(-)

> 

> diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c

> index af4c75217ea6..575930c80fba 100644

> --- a/drivers/firmware/qcom_scm.c

> +++ b/drivers/firmware/qcom_scm.c

> @@ -633,7 +633,6 @@ static int __init qcom_scm_init(void)

>  	np = of_find_matching_node(fw_np, qcom_scm_dt_match);

>  

>  	if (!np) {

> -		of_node_put(fw_np);

>  		return -ENODEV;

>  	}

>  

> 

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c
index af4c75217ea6..575930c80fba 100644
--- a/drivers/firmware/qcom_scm.c
+++ b/drivers/firmware/qcom_scm.c
@@ -633,7 +633,6 @@  static int __init qcom_scm_init(void)
 	np = of_find_matching_node(fw_np, qcom_scm_dt_match);
 
 	if (!np) {
-		of_node_put(fw_np);
 		return -ENODEV;
 	}