diff options
| author | Bartosz Golaszewski <[email protected]> | 2025-06-30 12:12:05 +0000 |
|---|---|---|
| committer | Bjorn Andersson <[email protected]> | 2025-07-17 03:50:55 +0000 |
| commit | 7ab36b51c6bee56e1a1939063dd10d602fe49d13 (patch) | |
| tree | dba72bc2938079db80b74cb96872deafe47b018b /rust/helpers/helpers.c | |
| parent | firmware: qcom: scm: initialize tzmem before marking SCM as available (diff) | |
| download | kernel-7ab36b51c6bee56e1a1939063dd10d602fe49d13.tar.gz kernel-7ab36b51c6bee56e1a1939063dd10d602fe49d13.zip | |
firmware: qcom: scm: request the waitqueue irq *after* initializing SCM
There's a subtle race in the SCM driver: we assign the __scm pointer
before requesting the waitqueue interrupt. Assigning __scm marks the SCM
API as ready to accept calls. It's possible that a user makes a call
right after we set __scm and the firmware raises an interrupt before the
driver's ready to service it. Move the __scm assignment after we request
the interrupt.
This has the added benefit of allowing us to drop the goto label.
Reviewed-by: Konrad Dybcio <[email protected]>
Signed-off-by: Bartosz Golaszewski <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Bjorn Andersson <[email protected]>
Diffstat (limited to 'rust/helpers/helpers.c')
0 files changed, 0 insertions, 0 deletions
