Hi Angelo,
On Fri, 2024-06-14 at 00:52 +0800, Jason-JH.Lin wrote:
Hi Angelo,https://lore.kernel.org/all/6fcd48b14e865c25e6db7559fe6b946537bfa0ce.camel@xxxxxxxxxxxx/
On Thu, 2024-06-13 at 17:10 +0200, AngeloGioacchino Del Regno wrote:
Il 13/06/24 17:06, Jason-JH.Lin ha scritto:
Add unregister mailbox controller in cmdq_remove to fix cmdq
unbind
WARN_ON message from pm_runtime_get_sync() in
cmdq_mbox_shutdown().
Fixes: 623a6143a845 ("mailbox: mediatek: Add Mediatek CMDQ
driver")
Signed-off-by: Jason-JH.Lin <jason-jh.lin@xxxxxxxxxxxx>
Hello,
I think you forgot about...
I'll send this series next week after testing it.
...as that would also resolve this one without any hacks.
I thought it was another problem, so I sent this patch.
After looking to the kerneldoc of devm_mbox_controller_unregister(),
I
found that it's not necessary to call this anywhere.
I'll drop this patch. Thanks for the review.
I found that the series of "Move pm_runimte_get and put to
mbox_chan_ops API" can not fix this unbind crash issue.
It seems they are 2 different issues.
So I think calling devm_mbox_controller_unregister() in cmdq_remove()
can ensure the CMDQ device is not removed and be paired to
cmdq_probe().
Regards,
Jason-JH.Lin
Regards,
Jason-JH.Lin
Cheers,
Angelo
---
drivers/mailbox/mtk-cmdq-mailbox.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c
b/drivers/mailbox/mtk-cmdq-mailbox.c
index 4aa394e91109..1399e18a39a4 100644
--- a/drivers/mailbox/mtk-cmdq-mailbox.c
+++ b/drivers/mailbox/mtk-cmdq-mailbox.c
@@ -371,6 +371,8 @@ static void cmdq_remove(struct
platform_device
*pdev)
{
struct cmdq *cmdq = platform_get_drvdata(pdev);
+ devm_mbox_controller_unregister(&pdev->dev, &cmdq->mbox);
+
if (cmdq->pdata->sw_ddr_en)
cmdq_sw_ddr_enable(cmdq, false);