https://github.com/torvalds/linux
Revision 3e26c5feed2add218046ecf91bab3cfa9bf762a6 authored by Rafael J. Wysocki on 13 June 2019, 21:59:45 UTC, committed by Rafael J. Wysocki on 13 June 2019, 22:03:27 UTC
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 <kai.heng.feng@canonical.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
1 parent d1fdb6d
Tip revision: 3e26c5feed2add218046ecf91bab3cfa9bf762a6 authored by Rafael J. Wysocki on 13 June 2019, 21:59:45 UTC
PCI: PM: Skip devices in D0 for suspend-to-idle
PCI: PM: Skip devices in D0 for suspend-to-idle
Tip revision: 3e26c5f
File | Mode | Size |
---|---|---|
hvc | ||
ipwireless | ||
serdev | ||
serial | ||
vt | ||
Kconfig | -rw-r--r-- | 17.6 KB |
Makefile | -rw-r--r-- | 1.3 KB |
amiserial.c | -rw-r--r-- | 43.8 KB |
cyclades.c | -rw-r--r-- | 108.9 KB |
ehv_bytechan.c | -rw-r--r-- | 21.4 KB |
goldfish.c | -rw-r--r-- | 11.9 KB |
isicom.c | -rw-r--r-- | 40.5 KB |
mips_ejtag_fdc.c | -rw-r--r-- | 35.2 KB |
moxa.c | -rw-r--r-- | 52.1 KB |
moxa.h | -rw-r--r-- | 8.5 KB |
mxser.c | -rw-r--r-- | 70.1 KB |
mxser.h | -rw-r--r-- | 4.5 KB |
n_gsm.c | -rw-r--r-- | 78.5 KB |
n_hdlc.c | -rw-r--r-- | 27.2 KB |
n_null.c | -rw-r--r-- | 1.3 KB |
n_r3964.c | -rw-r--r-- | 31.2 KB |
n_tracerouter.c | -rw-r--r-- | 6.6 KB |
n_tracesink.c | -rw-r--r-- | 6.6 KB |
n_tracesink.h | -rw-r--r-- | 850 bytes |
n_tty.c | -rw-r--r-- | 61.6 KB |
nozomi.c | -rw-r--r-- | 46.6 KB |
pty.c | -rw-r--r-- | 24.5 KB |
rocket.c | -rw-r--r-- | 92.0 KB |
rocket.h | -rw-r--r-- | 3.8 KB |
rocket_int.h | -rw-r--r-- | 41.6 KB |
synclink.c | -rw-r--r-- | 227.1 KB |
synclink_gt.c | -rw-r--r-- | 130.9 KB |
synclinkmp.c | -rw-r--r-- | 146.1 KB |
sysrq.c | -rw-r--r-- | 26.3 KB |
tty_audit.c | -rw-r--r-- | 5.6 KB |
tty_baudrate.c | -rw-r--r-- | 6.6 KB |
tty_buffer.c | -rw-r--r-- | 16.2 KB |
tty_io.c | -rw-r--r-- | 85.5 KB |
tty_ioctl.c | -rw-r--r-- | 23.7 KB |
tty_jobctrl.c | -rw-r--r-- | 14.0 KB |
tty_ldisc.c | -rw-r--r-- | 21.1 KB |
tty_ldsem.c | -rw-r--r-- | 10.4 KB |
tty_mutex.c | -rw-r--r-- | 1.1 KB |
tty_port.c | -rw-r--r-- | 18.1 KB |
ttynull.c | -rw-r--r-- | 2.3 KB |
vcc.c | -rw-r--r-- | 23.3 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...