Re: [PATCH] ACPI: APEI: Fix ERST timeout unit conversion

"Rafael J. Wysocki (Intel)" <[email protected]> Fri, 7 Aug 2026 19:21:49 +0200
Newsgroups gmane.linux.acpi.devel,gmane.linux.kernel
Message-ID <CAJZ5v0iB-3saQjzTwKPovLV8FLrYeG=vX756qZYvyby2Ph879Q@mail.gmail.com>
On Tue, Jul 28, 2026 at 4:22 AM Hanjun Guo <[email protected]> wrote:
>
> 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.

Applied as 7.3 material, thanks!