From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7CCBC470445; Tue, 21 Jul 2026 21:08:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784668114; cv=none; b=BH23QAYMiA72xOzfIfXtyeUq7VEsWTuugsgE4j2+yciYwrxQNCOLyrGF4JBbcBM354kA64nTufL0aou/eImeXYywy3pr2q1XFZQuzHML6gZ3B/b3xA7AO4+p6mlbfmTI4AkJKp+gJ3rXxKWPRGScDIRgKxj4cq3gbor/bKuUF04= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784668114; c=relaxed/simple; bh=4otD9B7UXFH71+JegOcoUr5zxnOZc5DPHNlX0C4q/lM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Rw6fFmagHfC8Bc2bthUKvJvC1uESII+m7TT8rsKvGitjytQanUVHhx0yYI4eeV5GeUGINdBh8JgQaDiH2dGGt7swEQoSEF8q5B/NHzkaHw2vnkMFWkVt0qYMglz0gqg4DOGyYMf8D1JlhntPu3xEPL7B8gFUGM8PPs7Xq0nMcVw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=o0hUtjw6; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="o0hUtjw6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E1C361F000E9; Tue, 21 Jul 2026 21:08:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1784668113; bh=Gws1SSPdzAsmjDAh2QnshPINFIt+f1HIiqPTIMoc+pg=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=o0hUtjw6KEQrKQZRIDTgyAAw8CbSicKGerumNIras5e8/kpUc7IOGVRK9FebHILr1 c2tm8Xb1+Ypd4PoxFgz2+j9DyNIObXXw+mJyhdu5MguuO2sy0oEdj5V2sYgi2q8+/Y 0R0sH+JFbLTPyJCh0f6dk1lXn2KTrL930LE1m5KI= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Dmitry Baryshkov , Mukesh Ojha , Bjorn Andersson , Srinivas Kandagatla , Sasha Levin Subject: [PATCH 6.1 0010/1067] slimbus: qcom-ngd-ctrl: Correct PDR and SSR cleanup ownership Date: Tue, 21 Jul 2026 17:10:11 +0200 Message-ID: <20260721152424.762563644@linuxfoundation.org> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260721152424.521567757@linuxfoundation.org> References: <20260721152424.521567757@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 6.1-stable review patch. If anyone has any objections, please let me know. ------------------ From: Bjorn Andersson [ Upstream commit 960b53a3f76fa214c2fc493734ae7b3c5e713bbf ] PDR and SSR callbacks are registred from the controller probe function, but currently released from the child device's remove function. The remove() function should only be unwinding what was done in the same device's probe() function. Fixes: 917809e2280b ("slimbus: ngd: Add qcom SLIMBus NGD driver") Cc: stable@vger.kernel.org Reviewed-by: Dmitry Baryshkov Reviewed-by: Mukesh Ojha Signed-off-by: Bjorn Andersson Signed-off-by: Srinivas Kandagatla Link: https://patch.msgid.link/20260530204421.116824-5-srini@kernel.org Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin --- 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 62b0615a62c68f..6003f6f99e1db3 100644 --- a/drivers/slimbus/qcom-ngd-ctrl.c +++ b/drivers/slimbus/qcom-ngd-ctrl.c @@ -1613,6 +1613,9 @@ static int 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); return 0; @@ -1623,8 +1626,6 @@ static int 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.53.0