lkml.org 
[lkml]   [2018]   [Nov]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 044/100] ACPICA: AML interpreter: add region addresses in global list during initialization
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Erik Schmauss <erik.schmauss@intel.com>

    commit 4abb951b73ff0a8a979113ef185651aa3c8da19b upstream.

    The table load process omitted adding the operation region address
    range to the global list. This omission is problematic because the OS
    queries the global list to check for address range conflicts before
    deciding which drivers to load. This commit may result in warning
    messages that look like the following:

    [ 7.871761] ACPI Warning: system_IO range 0x00000428-0x0000042F conflicts with op_region 0x00000400-0x0000047F (\PMIO) (20180531/utaddress-213)
    [ 7.871769] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver

    However, these messages do not signify regressions. It is a result of
    properly adding address ranges within the global address list.

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=200011
    Tested-by: Jean-Marc Lenoir <archlinux@jihemel.com>
    Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
    Cc: All applicable <stable@vger.kernel.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Cc: Jean Delvare <jdelvare@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/acpi/acpica/dsopcode.c | 4 ++++
    1 file changed, 4 insertions(+)

    --- a/drivers/acpi/acpica/dsopcode.c
    +++ b/drivers/acpi/acpica/dsopcode.c
    @@ -451,6 +451,10 @@ acpi_ds_eval_region_operands(struct acpi
    ACPI_FORMAT_UINT64(obj_desc->region.address),
    obj_desc->region.length));

    + status = acpi_ut_add_address_range(obj_desc->region.space_id,
    + obj_desc->region.address,
    + obj_desc->region.length, node);
    +
    /* Now the address and length are valid for this opregion */

    obj_desc->region.flags |= AOPOBJ_DATA_VALID;

    \
     
     \ /
      Last update: 2018-11-29 15:48    [W:4.672 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site