lkml.org 
[lkml]   [2023]   [May]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH v2] apei/ghes: correctly return NULL for ghes_get_devices()
Date


> -----Original Message-----
> From: Justin He <Justin.He@arm.com>
> Sent: Thursday, May 25, 2023 10:18 AM
> To: Leo Li <leoyang.li@nxp.com>; Toshi Kani <toshi.kani@hpe.com>; Rafael J.
> Wysocki <rafael@kernel.org>; Len Brown <lenb@kernel.org>; James Morse
> <James.Morse@arm.com>; Tony Luck <tony.luck@intel.com>; Borislav
> Petkov <bp@alien8.de>
> Cc: linux-acpi@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: RE: [PATCH v2] apei/ghes: correctly return NULL for
> ghes_get_devices()
>
> Hi Li,
>
> > -----Original Message-----
> > From: Li Yang <leoyang.li@nxp.com>
> > Sent: Saturday, May 20, 2023 4:13 AM
> > To: Rafael J. Wysocki <rafael@kernel.org>; Len Brown
> > <lenb@kernel.org>; James Morse <James.Morse@arm.com>; Tony Luck
> > <tony.luck@intel.com>; Borislav Petkov <bp@alien8.de>; Justin He
> > <Justin.He@arm.com>
> > Cc: Li Yang <leoyang.li@nxp.com>; linux-acpi@vger.kernel.org;
> > linux-kernel@vger.kernel.org
> > Subject: [PATCH v2] apei/ghes: correctly return NULL for
> > ghes_get_devices()
> >
> > Since 315bada690e0 ("EDAC: Check for GHES preference in the
> > chipset-specific EDAC drivers"), vendor specific EDAC driver will not
> > probe correctly when CONFIG_ACPI_APEI_GHES is enabled but no GHES
> > device is present. Make
> > ghes_get_devices() return NULL when the GHES device list is empty to
> > fix the problem.
> >
> > Fixes: 9057a3f7ac36 ("EDAC/ghes: Prepare to make ghes_edac a proper
> > module")
> > Signed-off-by: Li Yang <leoyang.li@nxp.com>
> > Cc: Jia He <justin.he@arm.com>
> > ---
> >
> > V2: fix the fallthrough case in x86 path
> >
> > drivers/acpi/apei/ghes.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c index
> > 34ad071a64e9..4382fe13ee3e 100644
> > --- a/drivers/acpi/apei/ghes.c
> > +++ b/drivers/acpi/apei/ghes.c
> > @@ -1544,6 +1544,8 @@ struct list_head *ghes_get_devices(void)
> >
> > pr_warn_once("Force-loading ghes_edac on an
> > unsupported platform. You're on your own!\n");
> > }
> > + } else if (list_empty(&ghes_devs)) {
> > + return NULL;
> > }
> I have no major objections to the fix. Just curious about the edac driver in
> you platform.
> IIUC, in your case, CONFIG_ACPI_APEI_GHES is enabled and edac_ghes
> driver is either not loaded or fails to load. Is my understanding correct?

Right. ghes_edac is loaded but since ghes_devs is empty due to this platform not using ACPI, it bails out with -ENODEV very quickly. I would expect the original platform EDAC driver should continue to work in this scenario.

> I wonder whether ghes_get_devices() can unblock such check condition and
> let other chipset-specific edac drivers continue with the initialization. @Toshi,
> What do u think of it?
>
>
> --
> Cheers,
> Justin (Jia He)
>
>
> IMPORTANT NOTICE: The contents of this email and any attachments are
> confidential and may also be privileged. If you are not the intended recipient,
> please notify the sender immediately and do not disclose the contents to any
> other person, use it for any purpose, or store or copy the information in any
> medium. Thank you.

\
 
 \ /
  Last update: 2023-05-25 22:40    [W:0.086 / U:1.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site