Re: [PATCH] riscv: sbi: fix errno mapping for SBI_ERR_ALREADY_* error codes
Paul Sherman <[email protected]> Wed, 29 Jul 2026 17:01:25 -0700
| Newsgroups | org.infradead.lists.linux-riscv,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <amqUVf8KLUivRUMW@got-milk> |
Hi, On Wed, Jul 29, 2026 at 12:43:30PM -0600, Paul Walmsley wrote: > It looks like -EALREADY is defined as "connection already in progress," > which doesn't quite map to the meaning of these errors, here. > > https://en.cppreference.com/cpp/error/errno_macros You're right that the POSIX description is networking-specific. My reasoning was that it was the closest existing errno expressing "the requested operation was unnecessary because the target was already in the requested state." If you think another errno is a better fit I'm happy to respin with that mapping. > Does this patch fix anything or change any behavior? Yes, concretely. Today SBI_ERR_ALREADY_STARTED falls through to -ENOTSUPP, so callers cannot distinguish "already running" from an unsupported SBI implementation. The companion patch updates cpu_ops_sbi.c to recognize the translated errno and treat the "already started" response as success, which fixes the boot-hart bringup path on many-hart multi-node platforms like SG2042 where firmware releases all harts simultaneously before SBI HSM state is established. > I don't think the comment is a good idea; it creates one more artifact > that can get out of sync with the code. We'd just expect people to read > the code, I think. Agreed, dropping it in v2. Thanks, Paul _______________________________________________ linux-riscv mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-riscv