• R
    ACPI / PM: Always evaluate _PSn after setting power resources · e78adb75
    Rafael J. Wysocki 提交于
    The ACPI specitication (ACPI 5, Sections 7.2.8 - 7.2.11) requires
    that the _PSn (n = 0..3) method, if present, be executed after the
    power resources for the given device power state have been set
    appropriately.  However, acpi_device_set_power() does that only
    if the new power state is going to be higher-power (lower-number)
    than the power state the device is in already.  Otherwise, the
    ordering is reverse to protect against situations in which _PSn
    might access device registers unavailable after configuring the
    power resources for power state Dn (D3 meaning D3hot).
    
    Such situations are very unlikely to happen, though, and _PSn may
    actually be implemented with the assumption that power resources
    have been configured for power state Dn in advance, so change the
    code to follow the specification literally.
    
    This change was previously porposed in a different form by Lv Zheng.
    Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
    e78adb75
device_pm.c 28.3 KB