]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ACPI: bus: Move acpi_arm_init() to the place of after acpi_ghes_init()
authorHanjun Guo <guohanjun@huawei.com>
Tue, 10 Oct 2023 08:21:23 +0000 (16:21 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 18 Oct 2023 11:26:30 +0000 (13:26 +0200)
commitd5921c460e543228d100daf67dac7a03dfaaa40a
tree78ecce71b9db9dc4a65054b312d2567e22ebf7fe
parent58720809f52779dc0f08e53e54b014209d13eebb
ACPI: bus: Move acpi_arm_init() to the place of after acpi_ghes_init()

acpi_agdi_init() in acpi_arm_init() will register a SDEI event, so
it needs the SDEI subsystem to be initialized (which is done in
acpi_ghes_init()) before the AGDI driver probing.

In commit fcea0ccf4fd7 ("ACPI: bus: Consolidate all arm specific
initialisation into acpi_arm_init()"), the acpi_agdi_init() was
called before acpi_ghes_init() and it causes following failure:

| [    0.515864] sdei: Failed to create event 1073741825: -5
| [    0.515866] agdi agdi.0: Failed to register for SDEI event 1073741825
| [    0.515867] agdi: probe of agdi.0 failed with error -5
| ...
| [    0.516022] sdei: SDEIv1.0 (0x0) detected in firmware.

Fix it by moving acpi_arm_init() to the place of after
acpi_ghes_init().

Fixes: fcea0ccf4fd7 ("ACPI: bus: Consolidate all arm specific initialisation into acpi_arm_init()")
Reported-by: D Scott Phillips <scott@os.amperecomputing.com>
Signed-off-by: Hanjun Guo <guohanjun@huawei.com>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Tested-by: D Scott Phillips <scott@os.amperecomputing.com>
Cc: 6.5+ <stable@vger.kernel.org> # 6.5+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/bus.c