[PATCH 0/2] Fix sleeping function called from invalid context
Jason-JH.Lin
jason-jh.lin at mediatek.com
Thu Jun 13 21:01:31 PDT 2024
We found that there is a spin_lock_irqsave protection in msg_submit()
of mailbox.c and it is in the atomic context.
So when the mailbox controller driver calls pm_runtime_get_sync() in
mbox_chan_ops->send_data(), it will get this BUG report.
"BUG: sleeping function called from invalid context at drivers/base/power/runtime.c:1164"
Add API to mbox_chan_ops to make mailbox takes into account that a driver
may need PM done.
Jason-JH.Lin (2):
mailbox: Add power_get/power_put API to mbox_chan_ops
mailbox: mtk-cmdq: Move pm_runimte_get and put to mbox_chan_ops API
drivers/mailbox/mailbox.c | 55 ++++++++++++++++++++++++++++++
drivers/mailbox/mtk-cmdq-mailbox.c | 37 ++++++++++----------
include/linux/mailbox_controller.h | 11 ++++++
3 files changed, 84 insertions(+), 19 deletions(-)
--
2.18.0
More information about the Linux-mediatek
mailing list