lib: sbi: sse: call enable callback before sending IPI

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@rivosinc.com>
Reported-by: Samuel Holland <samuel.holland@sifive.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
Clément Léger
2024-04-09 12:02:06 +02:00
committed by Anup Patel
parent d528dbfd4b
commit ce3c82cb2e

View File

@@ -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;
}