lkml.org 
[lkml]   [2013]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 34/72] ACPICA: Do not use extended sleep registers unless HW-reduced bit is set
    Date
    3.10-stable review patch.  If anyone has any objections, please let me know.

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

    From: Lv Zheng <lv.zheng@intel.com>

    commit 7cec7048fe22e3e92389da2cd67098f6c4284e7f upstream.

    Previous implementation incorrectly used the ACPI 5.0 extended
    sleep registers if they were simply populated. This caused
    problems on some non-HW-reduced machines. As per the ACPI spec,
    they should only be used if the HW-reduced bit is set. Lv Zheng,
    ACPICA BZ 1020.

    Reported-by: Daniel Rowe <bart@fathom13.com>
    References: https://bugzilla.kernel.org/show_bug.cgi?id=54181
    References: https://bugs.acpica.org/show_bug.cgi?id=1020
    Bisected-by: Brint E. Kriebel <kernel@bekit.net>
    Signed-off-by: Lv Zheng <lv.zheng@intel.com>
    Signed-off-by: Bob Moore <robert.moore@intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/acpi/acpica/hwxfsleep.c | 8 +++++---
    1 file changed, 5 insertions(+), 3 deletions(-)

    --- a/drivers/acpi/acpica/hwxfsleep.c
    +++ b/drivers/acpi/acpica/hwxfsleep.c
    @@ -240,12 +240,14 @@ static acpi_status acpi_hw_sleep_dispatc
    &acpi_sleep_dispatch[function_id];

    #if (!ACPI_REDUCED_HARDWARE)
    -
    /*
    * If the Hardware Reduced flag is set (from the FADT), we must
    - * use the extended sleep registers
    + * use the extended sleep registers (FADT). Note: As per the ACPI
    + * specification, these extended registers are to be used for HW-reduced
    + * platforms only. They are not general-purpose replacements for the
    + * legacy PM register sleep support.
    */
    - if (acpi_gbl_reduced_hardware || acpi_gbl_FADT.sleep_control.address) {
    + if (acpi_gbl_reduced_hardware) {
    status = sleep_functions->extended_function(sleep_state);
    } else {
    /* Legacy sleep */



    \
     
     \ /
      Last update: 2013-07-19 09:41    [W:2.081 / U:0.284 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site