[PATCH 5/7] lib: sbi: sse: call enable callback before sending IPI
Clément Léger
cleger at rivosinc.com
Tue Apr 9 03:02:06 PDT 2024
Move the enable callback call before sending the IPI. Even though the
event is locked and no race condition can happen, this is more logical.
Signed-off-by: Clément Léger <cleger at rivosinc.com>
Reported-by: Samuel Holland <samuel.holland at sifive.com>
---
lib/sbi/sbi_sse.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/sbi/sbi_sse.c b/lib/sbi/sbi_sse.c
index 61d1f78..8b448bf 100644
--- a/lib/sbi/sbi_sse.c
+++ b/lib/sbi/sbi_sse.c
@@ -686,12 +686,12 @@ static int sse_event_enable(struct sbi_sse_event *e)
sse_event_set_state(e, SBI_SSE_STATE_ENABLED);
sse_event_add_to_list(e);
- if (sse_event_pending(e))
+ sse_event_invoke_cb(e, enable_cb);
+
+ if (sse_event_is_global(e) && sse_event_pending(e))
sbi_ipi_send_many(1, e->attrs.hartid, sse_ipi_inject_event,
NULL);
- sse_event_invoke_cb(e, enable_cb);
-
return SBI_OK;
}
--
2.43.0
More information about the opensbi
mailing list