]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/4.19.35/acpica-aml-interpreter-add-region-addresses-in-global-list-during-initialization.patch
Linux 4.19.35
[thirdparty/kernel/stable-queue.git] / releases / 4.19.35 / acpica-aml-interpreter-add-region-addresses-in-global-list-during-initialization.patch
CommitLineData
63952b1e
GKH
1From 4abb951b73ff0a8a979113ef185651aa3c8da19b Mon Sep 17 00:00:00 2001
2From: Erik Schmauss <erik.schmauss@intel.com>
3Date: Wed, 17 Oct 2018 14:09:35 -0700
4Subject: ACPICA: AML interpreter: add region addresses in global list during initialization
5
6From: Erik Schmauss <erik.schmauss@intel.com>
7
8commit 4abb951b73ff0a8a979113ef185651aa3c8da19b upstream.
9
10The table load process omitted adding the operation region address
11range to the global list. This omission is problematic because the OS
12queries the global list to check for address range conflicts before
13deciding which drivers to load. This commit may result in warning
14messages that look like the following:
15
16[ 7.871761] ACPI Warning: system_IO range 0x00000428-0x0000042F conflicts with op_region 0x00000400-0x0000047F (\PMIO) (20180531/utaddress-213)
17[ 7.871769] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
18
19However, these messages do not signify regressions. It is a result of
20properly adding address ranges within the global address list.
21
22Link: https://bugzilla.kernel.org/show_bug.cgi?id=200011
23Tested-by: Jean-Marc Lenoir <archlinux@jihemel.com>
24Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
25Cc: All applicable <stable@vger.kernel.org>
26Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
27Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
28
29---
30 drivers/acpi/acpica/dsopcode.c | 4 ++++
31 1 file changed, 4 insertions(+)
32
33--- a/drivers/acpi/acpica/dsopcode.c
34+++ b/drivers/acpi/acpica/dsopcode.c
35@@ -523,6 +523,10 @@ acpi_ds_eval_table_region_operands(struc
36 ACPI_FORMAT_UINT64(obj_desc->region.address),
37 obj_desc->region.length));
38
39+ status = acpi_ut_add_address_range(obj_desc->region.space_id,
40+ obj_desc->region.address,
41+ obj_desc->region.length, node);
42+
43 /* Now the address and length are valid for this opregion */
44
45 obj_desc->region.flags |= AOPOBJ_DATA_VALID;