[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250120110417.00000a57@huawei.com>
Date: Mon, 20 Jan 2025 11:04:17 +0000
From: Jonathan Cameron <Jonathan.Cameron@...wei.com>
To: Xiaofei Tan <tanxiaofei@...wei.com>
CC: <rafael@...nel.org>, <lenb@...nel.org>, <linux-acpi@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <mchehab+huawei@...nel.org>,
<roberto.sassu@...wei.com>, <shiju.jose@...wei.com>,
<prime.zeng@...ilicon.com>, <linuxarm@...wei.com>
Subject: Re: [PATCH v3] acpi: Fix HED module initialization order when it is
built-in
On Fri, 17 Jan 2025 10:29:57 +0800
Xiaofei Tan <tanxiaofei@...wei.com> wrote:
> When the module HED is built-in, the module HED init is behind EVGED
> as the driver are in the same initcall level, then the order is determined
> by Makefile order. That order violates expectations. Because RAS records
> can't be handled in the special time window that EVGED has initialized
> while HED not.
>
> If the number of such RAS records is more than the APEI HEST error source
> number, the HEST resources could be occupied all, and then could affect
> subsequent RAS error reporting.
>
> Change the initcall level of HED to subsys_init to fix the issue. If build
> HED as a module, the problem remains. To solve this problem completely,
> change the ACPI_HED from tristate to bool.
>
> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@...wei.com>
Given the change in approach (even though I reviewed this internally)
should probably have dropped my RB. Anyhow, consider this me
giving it again on list.
Thanks,
Jonathan
> Signed-off-by: Xiaofei Tan <tanxiaofei@...wei.com>
> ---
> drivers/acpi/Kconfig | 2 +-
> drivers/acpi/hed.c | 1 +
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
> index d81b55f5068c..7f10aa38269d 100644
> --- a/drivers/acpi/Kconfig
> +++ b/drivers/acpi/Kconfig
> @@ -452,7 +452,7 @@ config ACPI_SBS
> the modules will be called sbs and sbshc.
>
> config ACPI_HED
> - tristate "Hardware Error Device"
> + bool "Hardware Error Device"
> help
> This driver supports the Hardware Error Device (PNP0C33),
> which is used to report some hardware errors notified via
> diff --git a/drivers/acpi/hed.c b/drivers/acpi/hed.c
> index 7652515a6be1..677dfcce2990 100644
> --- a/drivers/acpi/hed.c
> +++ b/drivers/acpi/hed.c
> @@ -81,6 +81,7 @@ static struct acpi_driver acpi_hed_driver = {
> },
> };
> module_acpi_driver(acpi_hed_driver);
> +subsys_initcall(acpi_hed_driver_init);
>
> MODULE_AUTHOR("Huang Ying");
> MODULE_DESCRIPTION("ACPI Hardware Error Device Driver");
Powered by blists - more mailing lists