Comment 19 for bug 1836630

Revision history for this message
Jeremy Soller (jackpot51) wrote :

It looks like reverting 1bde9ecf018ee646b68258921bf0fa364afda38a fixes suspend issues when writing devices to /sys/power/pm_test, but also reverting 6c6bc1aee6a61fe7a98196794735849286761a4a fixes suspend issues when using standard suspend/resume:

commit 6c6bc1aee6a61fe7a98196794735849286761a4a
Author: Rafael J. Wysocki <email address hidden>
Date: Thu Jun 13 23:59:45 2019 +0200

    PCI: PM: Skip devices in D0 for suspend-to-idle

    BugLink: https://bugs.launchpad.net/bugs/1808957

    Patchwork: https://patchwork.kernel.org/patch/10993697/

    Commit d491f2b75237 ("PCI: PM: Avoid possible suspend-to-idle issue")
    attempted to avoid a problem with devices whose drivers want them to
    stay in D0 over suspend-to-idle and resume, but it did not go as far
    as it should with that.

    Namely, first of all, the power state of a PCI bridge with a
    downstream device in D0 must be D0 (based on the PCI PM spec r1.2,
    sec 6, table 6-1, if the bridge is not in D0, there can be no PCI
    transactions on its secondary bus), but that is not actively enforced
    during system-wide PM transitions, so use the skip_bus_pm flag
    introduced by commit d491f2b75237 for that.

    Second, the configuration of devices left in D0 (whatever the reason)
    during suspend-to-idle need not be changed and attempting to put them
    into D0 again by force is pointless, so explicitly avoid doing that.

    Fixes: d491f2b75237 ("PCI: PM: Avoid possible suspend-to-idle issue")
    Reported-by: Kai-Heng Feng <email address hidden>
    Signed-off-by: Rafael J. Wysocki <email address hidden>
    Reviewed-by: Mika Westerberg <email address hidden>
    Tested-by: Kai-Heng Feng <email address hidden>
    (cherry picked from commit 3e26c5feed2add218046ecf91bab3cfa9bf762a6)
    Signed-off-by: Kai-Heng Feng <email address hidden>
    Acked-by: Timo Aaltonen <email address hidden>
    Acked-by: Stefan Bader <email address hidden>
    Signed-off-by: Kleber Sacilotto de Souza <email address hidden>