Re: [PATCH] ACPI: APEI: Fix ERST timeout unit conversion
Hanjun Guo <[email protected]> Tue, 28 Jul 2026 10:22:02 +0800
| Newsgroups | gmane.linux.kernel,gmane.linux.acpi.devel,gmane.linux.kernel.stable |
|---|---|
| Message-ID | <[email protected]> |
On 2026/7/22 2:25, Nirmoy Das wrote:
> The ACPI specification defines bits 63:32 returned by
> GET_EXECUTE_OPERATION_TIMINGS as the maximum execution time in
> microseconds. erst_get_timeout() instead multiplies the value by
> NSEC_PER_MSEC.
>
> Use NSEC_PER_USEC to express the firmware-provided microsecond timeout
> in the nanosecond units expected by erst_timedout().
>
> Fixes: fac475aab70b ("ACPI: APEI: Use ERST timeout for slow devices")
> Cc: [email protected]
> Assisted-by: Codex:gpt-5.6-sol
> Signed-off-by: Nirmoy Das <[email protected]>
> ---
> drivers/acpi/apei/erst.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/apei/erst.c b/drivers/acpi/apei/erst.c
> index bf65e34615314..15ab797641cfc 100644
> --- a/drivers/acpi/apei/erst.c
> +++ b/drivers/acpi/apei/erst.c
> @@ -108,7 +108,7 @@ static inline u64 erst_get_timeout(void)
>
> if (erst_erange.attr & ERST_RANGE_SLOW) {
> timeout = ((erst_erange.timings & ERST_EXEC_TIMING_MAX_MASK) >>
> - ERST_EXEC_TIMING_MAX_SHIFT) * NSEC_PER_MSEC;
> + ERST_EXEC_TIMING_MAX_SHIFT) * NSEC_PER_USEC;
Good catch! In the latest ACPI 6.6 spec, it says:
[63:32] value in *microseconds* that the platform expects
would be the maximum amount of time it will take to
process and complete an EXECUTE_OPERATION.
Reviewed-by: Hanjun Guo <[email protected]>
Thanks
Hanjun