Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ACPI, APEI, Fix error return value in apei_map_generic_address()

From commit 6915564dc5a8 ("ACPI: OSL: Change the type of
acpi_os_map_generic_address() return value"),
acpi_os_map_generic_address() will return logical address or NULL
for error, but for ACPI_ADR_SPACE_SYSTEM_IO case, it should be also
return 0 as it's a normal case, but now it will return -ENXIO.

So check it out for such case to avoid einj module initialization
fail.

Fixes: 6915564dc5a8 ("ACPI: OSL: Change the type of acpi_os_map_generic_address() return value")
Cc: <stable@vger.kernel.org>
Reviewed-by: James Morse <james.morse@arm.com>
Tested-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Aili Yao <yaoaili@kingsoft.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

authored by

Aili Yao and committed by
Rafael J. Wysocki
4fba15fb 09162bc3

+4
+4
drivers/acpi/apei/apei-base.c
··· 633 633 if (rc) 634 634 return rc; 635 635 636 + /* IO space doesn't need mapping */ 637 + if (reg->space_id == ACPI_ADR_SPACE_SYSTEM_IO) 638 + return 0; 639 + 636 640 if (!acpi_os_map_generic_address(reg)) 637 641 return -ENXIO; 638 642