Skip to content
  • Hans de Goede's avatar
    ACPI / power: Delay turning off unused power resources after suspend · a9b90d80
    Hans de Goede authored
    
    [ Upstream commit 8ece1d83 ]
    
    Commit 660b1113
    
     (ACPI / PM: Fix consistency check for power resources
    during resume) introduced a check for ACPI power resources which have
    been turned on by the BIOS during suspend and turns these back off again.
    
    This is causing problems on a Dell Venue Pro 11 7130 (i5-4300Y) it causes
    the following messages to show up in dmesg:
    
    [  131.014605] ACPI: Waking up from system sleep state S3
    [  131.150271] acpi LNXPOWER:07: Turning OFF
    [  131.150323] acpi LNXPOWER:06: Turning OFF
    [  131.150911] acpi LNXPOWER:00: Turning OFF
    [  131.169014] ACPI : EC: interrupt unblocked
    [  131.181811] xhci_hcd 0000:00:14.0: System wakeup disabled by ACPI
    [  133.535728] pci_raw_set_power_state: 76 callbacks suppressed
    [  133.535735] iwlwifi 0000:01:00.0: Refused to change power state,
                   currently in D3
    [  133.597672] PM: noirq resume of devices complete after 2428.891 msecs
    
    Followed by a bunch of iwlwifi errors later on and the pcie device
    dropping from the bus (acpiphp thinks it has been unplugged).
    
    Disabling the turning off of unused power resources fixes this. Instead
    of adding a quirk for this system, this commit fixes this by moving the
    disabling of unused power resources to later in the resume sequence
    when the iwlwifi card has been moved out of D3 so the ref_count for
    its power resource no longer is 0.
    
    This new behavior seems to match the intend of the original commit which
    commit-msg says: "(... which means that no devices are going to need them
    any time soon) and we should turn them off".
    
    This also avoids power resources which we need when bringing devices out
    of D3 from getting bounced off and then back on again.
    
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: default avatarSasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    a9b90d80