mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
slimbus: qcom-ngd-ctrl: Correct PDR and SSR cleanup ownership
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: 917809e228 ("slimbus: ngd: Add qcom SLIMBus NGD driver")
Cc: stable@vger.kernel.org
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Link: https://patch.msgid.link/20260530204421.116824-5-srini@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
2c22ff152d
commit
960b53a3f7
|
|
@ -1683,6 +1683,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);
|
||||
}
|
||||
|
||||
|
|
@ -1691,8 +1694,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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user