diff mbox series

soc: qcom: smem_state: fix missing of_node_put in error path

Message ID 20240822164853.231087-2-krzysztof.kozlowski@linaro.org (mailing list archive)
State New
Headers show
Series soc: qcom: smem_state: fix missing of_node_put in error path | expand

Commit Message

Krzysztof Kozlowski Aug. 22, 2024, 4:48 p.m. UTC
If of_parse_phandle_with_args() succeeds, the OF node reference should
be dropped, regardless of number of phandle arguments.

Cc: <stable@vger.kernel.org>
Fixes: 9460ae2ff308 ("soc: qcom: Introduce common SMEM state machine code")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
 drivers/soc/qcom/smem_state.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Krzysztof Kozlowski Aug. 22, 2024, 4:52 p.m. UTC | #1
On 22/08/2024 18:48, Krzysztof Kozlowski wrote:
> If of_parse_phandle_with_args() succeeds, the OF node reference should
> be dropped, regardless of number of phandle arguments.
> 
> Cc: <stable@vger.kernel.org>
> Fixes: 9460ae2ff308 ("soc: qcom: Introduce common SMEM state machine code")
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> ---

And this one patch is a duplicate of what I sent separately. Can be
ignored. Sorry for the mess, time to finish work for today. :(

Best regards,
Krzysztof
Bjorn Andersson Oct. 7, 2024, 2:26 p.m. UTC | #2
On Thu, 22 Aug 2024 18:48:51 +0200, Krzysztof Kozlowski wrote:
> If of_parse_phandle_with_args() succeeds, the OF node reference should
> be dropped, regardless of number of phandle arguments.
> 
> 

Applied, thanks!

[2/3] soc: qcom: pbs: simplify locking with guard()
      commit: 6187aaae71ec236163d96601b37216e110bf7554
[3/3] soc: qcom: smem_state: simplify locking with guard()
      commit: cd3a3e60ebfe6f62ccf9d2164f6455e0b1ae1884

Best regards,
diff mbox series

Patch

diff --git a/drivers/soc/qcom/smem_state.c b/drivers/soc/qcom/smem_state.c
index d9bfac6c54fb..cc5be8019b6a 100644
--- a/drivers/soc/qcom/smem_state.c
+++ b/drivers/soc/qcom/smem_state.c
@@ -112,7 +112,8 @@  struct qcom_smem_state *qcom_smem_state_get(struct device *dev,
 
 	if (args.args_count != 1) {
 		dev_err(dev, "invalid #qcom,smem-state-cells\n");
-		return ERR_PTR(-EINVAL);
+		state = ERR_PTR(-EINVAL);
+		goto put;
 	}
 
 	state = of_node_to_state(args.np);