mirror of
https://github.com/torvalds/linux.git
synced 2026-10-30 14:06:03 +01:00
qcom_tzmem_enable() returns -EBUSY if called a second time, but this
causes probe retries to fail permanently if a later step in
qcom_scm_probe() defers after qcom_tzmem_enable() has already succeeded.
Use DO_ONCE() to ensure qcom_tzmem_init() runs exactly once across all
calls in a thread-safe manner. qcom_tzmem_dev is set on every call since
probe retries use the same device pointer. The result of the first
initialisation is cached and returned to every subsequent caller.
Fixes:
|
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| qcom_pas_tee.c | ||
| qcom_pas.c | ||
| qcom_pas.h | ||
| qcom_qseecom_uefisecapp.c | ||
| qcom_qseecom.c | ||
| qcom_scm_trace.h | ||
| qcom_scm-legacy.c | ||
| qcom_scm-smc.c | ||
| qcom_scm.c | ||
| qcom_scm.h | ||
| qcom_tzmem.c | ||
| qcom_tzmem.h | ||