Re: (subset) [PATCH v2 1/3] firmware: qcom: tzmem: Use DO_ONCE_SLEEPABLE() in qcom_tzmem_enable()
From: Bjorn Andersson
Date: Fri Sep 25 2026 - 10:23:11 EST
From: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxxxx>
On Tue, 22 Sep 2026 01:26:34 +0530, Mukesh Ojha wrote:
> qcom_tzmem_enable() is called from qcom_scm_probe() in a sleepable process
> context. The helper it wraps, qcom_tzmem_init(), calls
> qcom_scm_shm_bridge_enable() -> qcom_scm_call(), which invokes
> might_sleep() and later acquires the qcom_scm_lock mutex via
> __scm_smc_do().
>
> DO_ONCE() takes the once_lock spinlock with IRQs disabled, so invoking
> qcom_tzmem_init() from inside DO_ONCE() runs a sleepable call chain in
> atomic context. CONFIG_DEBUG_ATOMIC_SLEEP=y catches this on boot:
>
> [...]
Applied, thanks!
[3/3] firmware: qcom_scm: align PAS resource table retry
commit: 8b5af44f53ad08ebdf1872c36ae2b998bf22bb72
Best regards,
--
Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxxxx>