RE: [PATCH] ACPI: APEI: EINJ: warn on invalid argument when explicitly indicated by platform

From: Luck, Tony
Date: Tue Mar 21 2023 - 12:12:37 EST


> Actually, firmware will do some platform dependent sanity checks and returns
> different error codes. In this case, user injects to a invalid device, platform
> returns "Invalid Access". And user is expected to see:
>
> # select a invalid core or device to inject
> # echo 1 > error_inject
> echo: write error: Invalid argument
>
> Then user is expected to check his injection argument first.

Thanks. This makes sense. You want EINVAL when the user chose
bad arguments, and some other code for problem in BIOS.

If the BIOS has an issue, is it possible, or likely, that it is a temporary
problem? If so, EBUSY may be OK. The message " Device or resource busy"
might encourage the user to wait and try again.

If it is not going to get better by itself, then one of:

#define EIO 5 /* I/O error */
#define ENXIO 6 /* No such device or address */

might be a better choice.

-Tony