linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] slimbus: qcom-ngd: use correct error in message of pdr_add_lookup() failure
@ 2022-08-30 12:13 Krzysztof Kozlowski
  2022-08-30 12:13 ` [PATCH 2/3] slimbus: qcom-ngd: cleanup in probe error path Krzysztof Kozlowski
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2022-08-30 12:13 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Srinivas Kandagatla,
	Greg Kroah-Hartman, linux-arm-msm, alsa-devel, linux-kernel
  Cc: Krzysztof Kozlowski, stable

Use cprrect error code, instead of previous 'ret' value, when printing
error from pdr_add_lookup() failure.

Cc: <stable@vger.kernel.org>
Fixes: e1ae85e1830e ("slimbus: qcom-ngd-ctrl: add Protection Domain Restart Support")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
 drivers/slimbus/qcom-ngd-ctrl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctrl.c
index 0aa8408464ad..6fe6abb86061 100644
--- a/drivers/slimbus/qcom-ngd-ctrl.c
+++ b/drivers/slimbus/qcom-ngd-ctrl.c
@@ -1581,6 +1581,7 @@ static int qcom_slim_ngd_ctrl_probe(struct platform_device *pdev)
 
 	pds = pdr_add_lookup(ctrl->pdr, "avs/audio", "msm/adsp/audio_pd");
 	if (IS_ERR(pds) && PTR_ERR(pds) != -EALREADY) {
+		ret = PTR_ERR(pds);
 		dev_err(dev, "pdr add lookup failed: %d\n", ret);
 		return PTR_ERR(pds);
 	}
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/3] slimbus: qcom-ngd: cleanup in probe error path
  2022-08-30 12:13 [PATCH 1/3] slimbus: qcom-ngd: use correct error in message of pdr_add_lookup() failure Krzysztof Kozlowski
@ 2022-08-30 12:13 ` Krzysztof Kozlowski
  2022-08-30 12:13 ` [PATCH 3/3] slimbus: qcom-ngd: simplify error paths with dev_err_probe Krzysztof Kozlowski
  2022-08-30 17:33 ` [PATCH 1/3] slimbus: qcom-ngd: use correct error in message of pdr_add_lookup() failure Jeff Johnson
  2 siblings, 0 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2022-08-30 12:13 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Srinivas Kandagatla,
	Greg Kroah-Hartman, linux-arm-msm, alsa-devel, linux-kernel
  Cc: Krzysztof Kozlowski, stable

Add proper error path in probe() to cleanup resources previously
acquired/allocated:

  notifier callback qcom_slim_ngd_ssr_notify already registered
  WARNING: CPU: 6 PID: 70 at kernel/notifier.c:28 notifier_chain_register+0x5c/0x90
  Modules linked in:
  CPU: 6 PID: 70 Comm: kworker/u16:1 Not tainted 6.0.0-rc3-next-20220830 #380
  Call trace:
   notifier_chain_register+0x5c/0x90
   srcu_notifier_chain_register+0x44/0x90
   qcom_register_ssr_notifier+0x38/0x4c
   qcom_slim_ngd_ctrl_probe+0xd8/0x400
   platform_probe+0x6c/0xe0
   really_probe+0xbc/0x2d4
   __driver_probe_device+0x78/0xe0
   driver_probe_device+0x3c/0x12c
   __device_attach_driver+0xb8/0x120
   bus_for_each_drv+0x78/0xd0
   __device_attach+0xa8/0x1c0
   device_initial_probe+0x18/0x24
   bus_probe_device+0xa0/0xac
   deferred_probe_work_func+0x88/0xc0
   process_one_work+0x1d4/0x320
   worker_thread+0x2cc/0x44c
   kthread+0x110/0x114
   ret_from_fork+0x10/0x20

Cc: <stable@vger.kernel.org>
Fixes: e1ae85e1830e ("slimbus: qcom-ngd-ctrl: add Protection Domain Restart Support")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
 drivers/slimbus/qcom-ngd-ctrl.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctrl.c
index 6fe6abb86061..bacc6af1d51e 100644
--- a/drivers/slimbus/qcom-ngd-ctrl.c
+++ b/drivers/slimbus/qcom-ngd-ctrl.c
@@ -1576,18 +1576,27 @@ static int qcom_slim_ngd_ctrl_probe(struct platform_device *pdev)
 	ctrl->pdr = pdr_handle_alloc(slim_pd_status, ctrl);
 	if (IS_ERR(ctrl->pdr)) {
 		dev_err(dev, "Failed to init PDR handle\n");
-		return PTR_ERR(ctrl->pdr);
+		ret = PTR_ERR(ctrl->pdr);
+		goto err_pdr_alloc;
 	}
 
 	pds = pdr_add_lookup(ctrl->pdr, "avs/audio", "msm/adsp/audio_pd");
 	if (IS_ERR(pds) && PTR_ERR(pds) != -EALREADY) {
 		ret = PTR_ERR(pds);
 		dev_err(dev, "pdr add lookup failed: %d\n", ret);
-		return PTR_ERR(pds);
+		goto err_pdr_lookup;
 	}
 
 	platform_driver_register(&qcom_slim_ngd_driver);
 	return of_qcom_slim_ngd_register(dev, ctrl);
+
+err_pdr_alloc:
+	qcom_unregister_ssr_notifier(ctrl->notifier, &ctrl->nb);
+
+err_pdr_lookup:
+	pdr_handle_release(ctrl->pdr);
+
+	return ret;
 }
 
 static int qcom_slim_ngd_ctrl_remove(struct platform_device *pdev)
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/3] slimbus: qcom-ngd: simplify error paths with dev_err_probe
  2022-08-30 12:13 [PATCH 1/3] slimbus: qcom-ngd: use correct error in message of pdr_add_lookup() failure Krzysztof Kozlowski
  2022-08-30 12:13 ` [PATCH 2/3] slimbus: qcom-ngd: cleanup in probe error path Krzysztof Kozlowski
@ 2022-08-30 12:13 ` Krzysztof Kozlowski
  2022-08-30 17:33 ` [PATCH 1/3] slimbus: qcom-ngd: use correct error in message of pdr_add_lookup() failure Jeff Johnson
  2 siblings, 0 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2022-08-30 12:13 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Srinivas Kandagatla,
	Greg Kroah-Hartman, linux-arm-msm, alsa-devel, linux-kernel
  Cc: Krzysztof Kozlowski

Use dev_err_probe to skip printing of deferred probe errors and to
simplify error paths.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
 drivers/slimbus/qcom-ngd-ctrl.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctrl.c
index bacc6af1d51e..cec11aa106bf 100644
--- a/drivers/slimbus/qcom-ngd-ctrl.c
+++ b/drivers/slimbus/qcom-ngd-ctrl.c
@@ -1543,10 +1543,8 @@ static int qcom_slim_ngd_ctrl_probe(struct platform_device *pdev)
 
 	ret = devm_request_irq(dev, ret, qcom_slim_ngd_interrupt,
 			       IRQF_TRIGGER_HIGH, "slim-ngd", ctrl);
-	if (ret) {
-		dev_err(&pdev->dev, "request IRQ failed\n");
-		return ret;
-	}
+	if (ret)
+		return dev_err_probe(&pdev->dev, ret, "request IRQ failed\n");
 
 	ctrl->nb.notifier_call = qcom_slim_ngd_ssr_notify;
 	ctrl->notifier = qcom_register_ssr_notifier("lpass", &ctrl->nb);
@@ -1575,15 +1573,14 @@ static int qcom_slim_ngd_ctrl_probe(struct platform_device *pdev)
 
 	ctrl->pdr = pdr_handle_alloc(slim_pd_status, ctrl);
 	if (IS_ERR(ctrl->pdr)) {
-		dev_err(dev, "Failed to init PDR handle\n");
-		ret = PTR_ERR(ctrl->pdr);
+		ret = dev_err_probe(dev, PTR_ERR(ctrl->pdr),
+				    "Failed to init PDR handle\n");
 		goto err_pdr_alloc;
 	}
 
 	pds = pdr_add_lookup(ctrl->pdr, "avs/audio", "msm/adsp/audio_pd");
 	if (IS_ERR(pds) && PTR_ERR(pds) != -EALREADY) {
-		ret = PTR_ERR(pds);
-		dev_err(dev, "pdr add lookup failed: %d\n", ret);
+		ret = dev_err_probe(dev, PTR_ERR(pds), "pdr add lookup failed\n");
 		goto err_pdr_lookup;
 	}
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/3] slimbus: qcom-ngd: use correct error in message of pdr_add_lookup() failure
  2022-08-30 12:13 [PATCH 1/3] slimbus: qcom-ngd: use correct error in message of pdr_add_lookup() failure Krzysztof Kozlowski
  2022-08-30 12:13 ` [PATCH 2/3] slimbus: qcom-ngd: cleanup in probe error path Krzysztof Kozlowski
  2022-08-30 12:13 ` [PATCH 3/3] slimbus: qcom-ngd: simplify error paths with dev_err_probe Krzysztof Kozlowski
@ 2022-08-30 17:33 ` Jeff Johnson
  2022-08-30 17:48   ` Krzysztof Kozlowski
  2 siblings, 1 reply; 5+ messages in thread
From: Jeff Johnson @ 2022-08-30 17:33 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Andy Gross, Bjorn Andersson, Konrad Dybcio,
	Srinivas Kandagatla, Greg Kroah-Hartman, linux-arm-msm,
	alsa-devel, linux-kernel
  Cc: stable

On 8/30/2022 5:13 AM, Krzysztof Kozlowski wrote:
> Use cprrect error code, instead of previous 'ret' value, when printing

s/cprrect/correct/

> error from pdr_add_lookup() failure.
> 
> Cc: <stable@vger.kernel.org>
> Fixes: e1ae85e1830e ("slimbus: qcom-ngd-ctrl: add Protection Domain Restart Support")
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> ---
>   drivers/slimbus/qcom-ngd-ctrl.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctrl.c
> index 0aa8408464ad..6fe6abb86061 100644
> --- a/drivers/slimbus/qcom-ngd-ctrl.c
> +++ b/drivers/slimbus/qcom-ngd-ctrl.c
> @@ -1581,6 +1581,7 @@ static int qcom_slim_ngd_ctrl_probe(struct platform_device *pdev)
>   
>   	pds = pdr_add_lookup(ctrl->pdr, "avs/audio", "msm/adsp/audio_pd");
>   	if (IS_ERR(pds) && PTR_ERR(pds) != -EALREADY) {
> +		ret = PTR_ERR(pds);
>   		dev_err(dev, "pdr add lookup failed: %d\n", ret);
>   		return PTR_ERR(pds);

return ret?

>   	}


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/3] slimbus: qcom-ngd: use correct error in message of pdr_add_lookup() failure
  2022-08-30 17:33 ` [PATCH 1/3] slimbus: qcom-ngd: use correct error in message of pdr_add_lookup() failure Jeff Johnson
@ 2022-08-30 17:48   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2022-08-30 17:48 UTC (permalink / raw)
  To: Jeff Johnson, Andy Gross, Bjorn Andersson, Konrad Dybcio,
	Srinivas Kandagatla, Greg Kroah-Hartman, linux-arm-msm,
	alsa-devel, linux-kernel
  Cc: stable

On 30/08/2022 20:33, Jeff Johnson wrote:
> On 8/30/2022 5:13 AM, Krzysztof Kozlowski wrote:
>> Use cprrect error code, instead of previous 'ret' value, when printing
> 
> s/cprrect/correct/
> 

Thanks. I'll fix it.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-08-30 17:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-30 12:13 [PATCH 1/3] slimbus: qcom-ngd: use correct error in message of pdr_add_lookup() failure Krzysztof Kozlowski
2022-08-30 12:13 ` [PATCH 2/3] slimbus: qcom-ngd: cleanup in probe error path Krzysztof Kozlowski
2022-08-30 12:13 ` [PATCH 3/3] slimbus: qcom-ngd: simplify error paths with dev_err_probe Krzysztof Kozlowski
2022-08-30 17:33 ` [PATCH 1/3] slimbus: qcom-ngd: use correct error in message of pdr_add_lookup() failure Jeff Johnson
2022-08-30 17:48   ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).