forked from luck/tmp_suning_uos_patched
ACPICA: Fix exception code class checks
[ Upstream commit 3dfaea3811f8b6a89a347e8da9ab862cdf3e30fe ]
ACPICA commit 1a3a549286ea9db07d7ec700e7a70dd8bcc4354e
The macros to classify different AML exception codes are broken. For
instance,
ACPI_ENV_EXCEPTION(Status)
will always evaluate to zero due to
#define AE_CODE_ENVIRONMENTAL 0x0000
#define ACPI_ENV_EXCEPTION(Status) (Status & AE_CODE_ENVIRONMENTAL)
Similarly, ACPI_AML_EXCEPTION(Status) will evaluate to a non-zero
value for error codes of type AE_CODE_PROGRAMMER, AE_CODE_ACPI_TABLES,
as well as AE_CODE_AML, and not just AE_CODE_AML as the name suggests.
This commit fixes those checks.
Fixes: d46b6537f0
("ACPICA: AML Parser: ignore all exceptions resulting from incorrect AML during table load")
Link: https://github.com/acpica/acpica/commit/1a3a5492
Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
3a3f15b4d2
commit
66a55fafe3
|
@ -59,11 +59,11 @@ struct acpi_exception_info {
|
|||
|
||||
#define AE_OK (acpi_status) 0x0000
|
||||
|
||||
#define ACPI_ENV_EXCEPTION(status) (status & AE_CODE_ENVIRONMENTAL)
|
||||
#define ACPI_AML_EXCEPTION(status) (status & AE_CODE_AML)
|
||||
#define ACPI_PROG_EXCEPTION(status) (status & AE_CODE_PROGRAMMER)
|
||||
#define ACPI_TABLE_EXCEPTION(status) (status & AE_CODE_ACPI_TABLES)
|
||||
#define ACPI_CNTL_EXCEPTION(status) (status & AE_CODE_CONTROL)
|
||||
#define ACPI_ENV_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_ENVIRONMENTAL)
|
||||
#define ACPI_AML_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_AML)
|
||||
#define ACPI_PROG_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_PROGRAMMER)
|
||||
#define ACPI_TABLE_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_ACPI_TABLES)
|
||||
#define ACPI_CNTL_EXCEPTION(status) (((status) & AE_CODE_MASK) == AE_CODE_CONTROL)
|
||||
|
||||
/*
|
||||
* Environmental exceptions
|
||||
|
|
Loading…
Reference in New Issue
Block a user