[PATCH] lib: sbi: fix sse_event_inject() status setting

Anup Patel anup at brainfault.org
Tue Mar 10 00:56:14 PDT 2026


On Tue, Mar 3, 2026 at 4:25 AM Charlie Jenkins via B4 Relay
<devnull+thecharlesjenkins.gmail.com at kernel.org> wrote:
>
> From: Charlie Jenkins <thecharlesjenkins at gmail.com>
>
> 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 <thecharlesjenkins at gmail.com>

LGTM.

Reviewed-by: Anup Patel <anup at brainfault.org>

Applied this patch to the riscv/opensbi repo.

Thanks,
Anup

> ---
>  lib/sbi/sbi_sse.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> 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;
>
> ---
> base-commit: 8d1c21b38752301fc6c727eece45c15c663649b0
> change-id: 20260302-event_inject_fix-d5187be40e0c
>
> - Charlie
>
>
>
> --
> opensbi mailing list
> opensbi at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/opensbi



More information about the opensbi mailing list