[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3c8474fb-75fd-4ea1-887a-53f625e4eadf@rivosinc.com>
Date: Thu, 22 May 2025 11:55:29 +0200
From: Clément Léger <cleger@...osinc.com>
To: Qingfang Deng <dqfext@...il.com>, Paul Walmsley
<paul.walmsley@...ive.com>, Palmer Dabbelt <palmer@...belt.com>,
linux-riscv@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Cc: Himanshu Chauhan <hchauhan@...tanamicro.com>,
Anup Patel <apatel@...tanamicro.com>, Xu Lu <luxu.kernel@...edance.com>,
Atish Patra <atishp@...shpatra.org>,
Conor Dooley <conor.dooley@...rochip.com>
Subject: Re: [PATCH v4 3/4] drivers: firmware: add riscv SSE support
On 21/05/2025 09:46, Qingfang Deng wrote:
> Hi Clément,
>
> On Fri, 16 May 2025 17:23:41 +0200, Clément Léger wrote:
>> +static struct sse_event *sse_event_get(u32 evt)
>> +{
>> + struct sse_event *event = NULL, *tmp;
>> +
>> + scoped_guard(spinlock, &events_list_lock) {
>> + list_for_each_entry(tmp, &events, list) {
>> + if (tmp->evt_id == evt)
>> + return event;
>
> `event` is not being updated by the loop and therefore is always NULL.
> Did you mean to return `tmp`?
Hi Qingfang,
Indeed, that's a mistake I made while renaming the evt/event stuff. I
didn't saw that since it is only used to check that we don't register an
event twice. Good catch.
>
>> + }
>> + }
>> +
>> + return NULL;
>> +}
>
> <snip>
>
>> +static int __init sse_init(void)
>> +{
>> + int cpu, ret;
>> +
>> + if (sbi_probe_extension(SBI_EXT_SSE) <= 0) {
>> + pr_err("Missing SBI SSE extension\n");
>> + return -EOPNOTSUPP;
>> + }
>> + pr_info("SBI SSE extension detected\n");
>> +
>> + for_each_possible_cpu(cpu)
>> + INIT_LIST_HEAD(&events);
>
> `events` is already initialized.
Yes indeed,
Thanks,
Clément
>
> Qingfang
Powered by blists - more mailing lists