Commit 4fba15fb authored by Aili Yao's avatar Aili Yao Committed by Rafael J. Wysocki
Browse files

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



From commit 6915564d ("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: 6915564d ("ACPI: OSL: Change the type of acpi_os_map_generic_address() return value")
Cc: <stable@vger.kernel.org>
Reviewed-by: default avatarJames Morse <james.morse@arm.com>
Tested-by: default avatarTony Luck <tony.luck@intel.com>
Signed-off-by: default avatarAili Yao <yaoaili@kingsoft.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 09162bc3
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -633,6 +633,10 @@ int apei_map_generic_address(struct acpi_generic_address *reg)
	if (rc)
		return rc;

	/* IO space doesn't need mapping */
	if (reg->space_id == ACPI_ADR_SPACE_SYSTEM_IO)
		return 0;

	if (!acpi_os_map_generic_address(reg))
		return -ENXIO;