diff mbox series

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

Message ID 20210911081347.33929-1-cuibixuan@huawei.com (mailing list archive)
State New, archived
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);
 }