public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
To: Srinivas Kandagatla <srini@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Vinod Koul <vkoul@kernel.org>,
	Krzysztof Kozlowski <krzk@kernel.org>
Cc: linux-arm-msm@vger.kernel.org, linux-sound@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>,
	stable@vger.kernel.org
Subject: [PATCH 3/7] slimbus: qcom-ngd-ctrl: Correct PDR and SSR cleanup ownership
Date: Mon, 09 Mar 2026 23:09:04 -0500	[thread overview]
Message-ID: <20260309-slim-ngd-dev-v1-3-5843e3ed62a3@oss.qualcomm.com> (raw)
In-Reply-To: <20260309-slim-ngd-dev-v1-0-5843e3ed62a3@oss.qualcomm.com>

PDR and SSR callbacks are registred from the controller probe function,
but currently released from the child device's remove function.

In the next commit the controller probe function will be modified such
that the error path will unregister the child device, resulting in a
double free of these resources.

Fixes: 917809e2280b ("slimbus: ngd: Add qcom SLIMBus NGD driver")
Cc: stable@vger.kernel.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
---
 drivers/slimbus/qcom-ngd-ctrl.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctrl.c
index b34e727bab086c95dc7e760bf1141baac9ccf6a7..09ce3299e15c25b1b9cf6b1559850adf4aa20737 100644
--- a/drivers/slimbus/qcom-ngd-ctrl.c
+++ b/drivers/slimbus/qcom-ngd-ctrl.c
@@ -1685,6 +1685,9 @@ static void qcom_slim_ngd_ctrl_remove(struct platform_device *pdev)
 {
 	struct qcom_slim_ngd_ctrl *ctrl = platform_get_drvdata(pdev);
 
+	pdr_handle_release(ctrl->pdr);
+	qcom_unregister_ssr_notifier(ctrl->notifier, &ctrl->nb);
+
 	qcom_slim_ngd_unregister(ctrl);
 }
 
@@ -1693,8 +1696,6 @@ static void qcom_slim_ngd_remove(struct platform_device *pdev)
 	struct qcom_slim_ngd_ctrl *ctrl = platform_get_drvdata(pdev);
 
 	pm_runtime_disable(&pdev->dev);
-	pdr_handle_release(ctrl->pdr);
-	qcom_unregister_ssr_notifier(ctrl->notifier, &ctrl->nb);
 	qcom_slim_ngd_enable(ctrl, false);
 	qcom_slim_ngd_exit_dma(ctrl);
 	qcom_slim_ngd_qmi_svc_event_deinit(&ctrl->qmi);

-- 
2.51.0


  parent reply	other threads:[~2026-03-10  4:09 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-10  4:09 [PATCH 0/7] slimbus: qcom-ngd-ctrl: Fix some race conditions and deadlocks Bjorn Andersson
2026-03-10  4:09 ` [PATCH 1/7] slimbus: qcom-ngd-ctrl: Fix up platform_driver registration Bjorn Andersson
2026-03-10  7:33   ` Mukesh Ojha
2026-03-11  1:30   ` Dmitry Baryshkov
2026-03-10  4:09 ` [PATCH 2/7] slimbus: qcom-ngd-ctrl: Fix probe error path ordering Bjorn Andersson
2026-03-10  7:36   ` Mukesh Ojha
2026-03-11  1:30   ` Dmitry Baryshkov
2026-03-10  4:09 ` Bjorn Andersson [this message]
2026-03-10  7:39   ` [PATCH 3/7] slimbus: qcom-ngd-ctrl: Correct PDR and SSR cleanup ownership Mukesh Ojha
2026-03-24  2:36     ` Bjorn Andersson
2026-03-24  6:32       ` Mukesh Ojha
2026-03-11  1:32   ` Dmitry Baryshkov
2026-03-10  4:09 ` [PATCH 4/7] slimbus: qcom-ngd-ctrl: Register callbacks after creating the ngd Bjorn Andersson
2026-03-10  7:49   ` Mukesh Ojha
2026-03-11  1:45   ` Dmitry Baryshkov
2026-03-10  4:09 ` [PATCH 5/7] slimbus: qcom-ngd-ctrl: Initialize controller resources in controller Bjorn Andersson
2026-03-10  7:54   ` Mukesh Ojha
2026-03-11  1:34   ` Dmitry Baryshkov
2026-03-10  4:09 ` [PATCH 6/7] slimbus: qcom-ngd-ctrl: Balance pm_runtime enablement for NGD Bjorn Andersson
2026-03-10  8:00   ` Mukesh Ojha
2026-03-11  1:34   ` Dmitry Baryshkov
2026-03-10  4:09 ` [PATCH 7/7] slimbus: qcom-ngd-ctrl: Avoid ABBA on tx_lock/ctrl->lock Bjorn Andersson
2026-03-10 10:03   ` Mukesh Ojha
2026-03-11  0:06     ` Bjorn Andersson
2026-03-11  1:37   ` Dmitry Baryshkov
2026-03-11  1:40 ` [PATCH 0/7] slimbus: qcom-ngd-ctrl: Fix some race conditions and deadlocks Dmitry Baryshkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260309-slim-ngd-dev-v1-3-5843e3ed62a3@oss.qualcomm.com \
    --to=bjorn.andersson@oss.qualcomm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=krzk@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=srini@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=vkoul@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox