diff mbox series

[-next] remoteproc: qcom_wcnss: Add missing of_node_put() in qcom_iris_probe()

Message ID 20210911081347.33929-1-cuibixuan@huawei.com
State New
Headers show
Series [-next] remoteproc: qcom_wcnss: Add missing of_node_put() in qcom_iris_probe() | expand

Commit Message

Bixuan Cui Sept. 11, 2021, 8:13 a.m. UTC
Add missing of_node_put() in qcom_iris_probe() before return.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Bixuan Cui <cuibixuan@huawei.com>
---
 drivers/remoteproc/qcom_wcnss_iris.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Bjorn Andersson Oct. 9, 2021, 3:17 a.m. UTC | #1
On Sat 11 Sep 03:13 CDT 2021, Bixuan Cui wrote:

> Add missing of_node_put() in qcom_iris_probe() before return.

> 

> Reported-by: Hulk Robot <hulkci@huawei.com>

> Signed-off-by: Bixuan Cui <cuibixuan@huawei.com>

> ---

>  drivers/remoteproc/qcom_wcnss_iris.c | 3 +++

>  1 file changed, 3 insertions(+)

> 

> diff --git a/drivers/remoteproc/qcom_wcnss_iris.c b/drivers/remoteproc/qcom_wcnss_iris.c

> index 09720ddddc85..f77ab49a9cae 100644

> --- a/drivers/remoteproc/qcom_wcnss_iris.c

> +++ b/drivers/remoteproc/qcom_wcnss_iris.c

> @@ -140,6 +140,7 @@ struct qcom_iris *qcom_iris_probe(struct device *parent, bool *use_48mhz_xo)

>  	ret = device_add(&iris->dev);

>  	if (ret) {

>  		put_device(&iris->dev);

> +		of_node_put(of_node);


We store "of_node" in iris->dev, so put_device() will invoke
qcom_iris_release() which of_node_put(iris->dev.of_node);

So I think this is a false alarm, but please correct me if I'm wrong.

Thanks,
Bjorn

>  		return ERR_PTR(ret);

>  	}

>  

> @@ -192,10 +193,12 @@ struct qcom_iris *qcom_iris_probe(struct device *parent, bool *use_48mhz_xo)

>  

>  	*use_48mhz_xo = data->use_48mhz_xo;

>  

> +	of_node_put(of_node);

>  	return iris;

>  

>  err_device_del:

>  	device_del(&iris->dev);

> +	of_node_put(of_node);

>  

>  	return ERR_PTR(ret);

>  }

> -- 

> 2.17.1

>
diff mbox series

Patch

diff --git a/drivers/remoteproc/qcom_wcnss_iris.c b/drivers/remoteproc/qcom_wcnss_iris.c
index 09720ddddc85..f77ab49a9cae 100644
--- a/drivers/remoteproc/qcom_wcnss_iris.c
+++ b/drivers/remoteproc/qcom_wcnss_iris.c
@@ -140,6 +140,7 @@  struct qcom_iris *qcom_iris_probe(struct device *parent, bool *use_48mhz_xo)
 	ret = device_add(&iris->dev);
 	if (ret) {
 		put_device(&iris->dev);
+		of_node_put(of_node);
 		return ERR_PTR(ret);
 	}
 
@@ -192,10 +193,12 @@  struct qcom_iris *qcom_iris_probe(struct device *parent, bool *use_48mhz_xo)
 
 	*use_48mhz_xo = data->use_48mhz_xo;
 
+	of_node_put(of_node);
 	return iris;
 
 err_device_del:
 	device_del(&iris->dev);
+	of_node_put(of_node);
 
 	return ERR_PTR(ret);
 }