diff options
| author | Charlie Jenkins <[email protected]> | 2026-03-02 14:54:58 -0800 |
|---|---|---|
| committer | Anup Patel <[email protected]> | 2026-03-10 13:21:29 +0530 |
| commit | 6d5b2b9b056826e072c387a068e3f8e6700b5cae (patch) | |
| tree | 08356786163940632749917a991fc3fff3a3ccfd | |
| parent | b5348006e98077076a0b1a690c3a9f63c7151a4b (diff) | |
lib: sbi: fix sse_event_inject() status setting
sse_event_inject() currently sets all status bits to 1 except for
SBI_SSE_ATTR_STATUS_PENDING_OFFSET which it sets to zero. Instead of
overwriting all the values of the status bits, sse_event_inject() is
only expected to clear SBI_SSE_ATTR_STATUS_PENDING_OFFSET. Fix
sse_event_inject() to only do the clearing.
Signed-off-by: Charlie Jenkins <[email protected]>
Reviewed-by: Anup Patel <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Anup Patel <[email protected]>
| -rw-r--r-- | lib/sbi/sbi_sse.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/sbi/sbi_sse.c b/lib/sbi/sbi_sse.c index a14754f8..818afb87 100644 --- a/lib/sbi/sbi_sse.c +++ b/lib/sbi/sbi_sse.c @@ -548,7 +548,7 @@ static void sse_event_inject(struct sbi_sse_event *e, sse_event_set_state(e, SBI_SSE_STATE_RUNNING); - e->attrs.status = ~BIT(SBI_SSE_ATTR_STATUS_PENDING_OFFSET); + e->attrs.status &= ~BIT(SBI_SSE_ATTR_STATUS_PENDING_OFFSET); i_ctx->a6 = regs->a6; i_ctx->a7 = regs->a7; |
