WSL2-Linux-Kernel/drivers
Rafael J. Wysocki d8f477a5cd PCI / PM: Force devices to D0 in pci_pm_thaw_noirq()
commit 5839ee7389 upstream.

It is incorrect to call pci_restore_state() for devices in low-power
states (D1-D3), as that involves the restoration of MSI setup which
requires MMIO to be operational and that is only the case in D0.

However, pci_pm_thaw_noirq() may do that if the driver's "freeze"
callbacks put the device into a low-power state, so fix it by making
it force devices into D0 via pci_set_power_state() instead of trying
to "update" their power state which is pointless.

Fixes: e60514bd44 (PCI/PM: Restore the status of PCI devices across hibernation)
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Reported-by: Maarten Lankhorst <dev@mblankhorst.nl>
Tested-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Maarten Lankhorst <dev@mblankhorst.nl>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-12-29 17:53:47 +01:00
..
accessibility License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
acpi acpi, nfit: fix health event notification 2017-12-29 17:53:45 +01:00
amba License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
android ANDROID: binder: fix transaction leak. 2017-12-10 13:40:37 +01:00
ata ata: fixes kernel crash while tracing ata_eh_link_autopsy event 2017-11-30 08:40:47 +00:00
atm atm: horizon: Fix irq release error 2017-12-14 09:53:13 +01:00
auxdisplay Update MIPS email addresses 2017-11-03 09:02:30 -07:00
base PM / OPP: Move error message to debug level 2017-12-25 14:26:26 +01:00
bcma License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
block nullb: fix error return code in null_init() 2017-12-20 10:10:35 +01:00
bluetooth Bluetooth: hci_bcm: Fix setting of irq trigger type 2017-12-25 14:26:27 +01:00
bus arm-ccn: perf: Prevent module unload while PMU is in use 2017-12-20 10:10:26 +01:00
cdrom License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
char ipmi_si: fix memory leak on new_smi 2017-12-20 10:10:35 +01:00
clk clk: sunxi-ng: sun6i: Rename HDMI DDC clock to avoid name collision 2017-12-25 14:26:30 +01:00
clocksource clocksource/drivers/arm_arch_timer: Validate CNTFRQ after enabling frame 2017-12-10 13:40:41 +01:00
connector
cpufreq License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cpuidle cpuidle: fix broadcast control when broadcast can not be entered 2017-12-25 14:26:30 +01:00
crypto crypto: crypto4xx - increase context and scatter ring buffer elements 2017-12-25 14:26:25 +01:00
dax dev/dax: fix uninitialized variable build warning 2017-12-20 10:10:34 +01:00
dca
devfreq License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dio License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dma dmaengine: ti-dma-crossbar: Correct am335x/am43xx mux value type 2017-12-20 10:10:24 +01:00
dma-buf dma-buf/sw_sync: force signal all unsignaled fences on dying timeline 2017-12-10 13:40:44 +01:00
edac EDAC, sb_edac: Fix missing break in switch 2017-12-10 13:40:41 +01:00
eisa License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
extcon License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
firewire License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
firmware efi/esrt: Use memunmap() instead of kfree() to free the remapping 2017-12-14 09:52:52 +01:00
fmc License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fpga License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fsi drivers/fsi/scom: Remove reset before every putscom 2017-08-28 17:15:16 +02:00
gpio License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gpu drm/vc4: Avoid using vrefresh==0 mode in DSI htotal math. 2017-12-25 14:26:30 +01:00
hid HID: cp2112: fix broken gpio_direction_input callback 2017-12-20 10:10:22 +01:00
hsi License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hv x86/virt: Add enum for hypervisors to replace x86_hyper 2017-12-25 14:26:20 +01:00
hwmon hwmon: (pmbus/core) Prevent unintentional setting of page to 0xFF 2017-12-10 13:40:40 +01:00
hwspinlock License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hwtracing License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
i2c i2c: i801: Fix Failed to allocate irq -2147483648 error 2017-12-05 11:26:33 +01:00
ide ide: ide-atapi: fix compile error with defining macro DEBUG 2017-12-17 15:08:00 +01:00
idle Revert "x86/mm: Stop calling leave_mm() in idle code" 2017-11-04 15:01:50 +01:00
iio iio: st_sensors: add register mask for status register 2017-12-25 14:26:26 +01:00
infiniband IB/opa_vnic: Properly return the total MACs in UC MAC list 2017-12-25 14:26:30 +01:00
input x86/virt: Add enum for hypervisors to replace x86_hyper 2017-12-25 14:26:20 +01:00
iommu iommu/amd: Limit the IOVA page range to the specified addresses 2017-12-20 10:10:26 +01:00
ipack
irqchip irqchip/qcom: Fix u32 comparison with value less than zero 2017-12-14 09:53:05 +01:00
isdn License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
leds leds: pca955x: Don't invert requested value in pca955x_gpio_set_value() 2017-12-25 14:26:27 +01:00
lightnvm lightnvm: pblk: protect line bitmap while submitting meta io 2017-12-20 10:10:38 +01:00
macintosh License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mailbox mailbox: mailbox-test: don't rely on rx_buffer content to signal data ready 2017-12-14 09:53:12 +01:00
mcb License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
md md: always set THREAD_WAKEUP and wake up wqueue if thread existed 2017-12-25 14:26:26 +01:00
media media: usbtv: fix brightness and contrast controls 2017-12-20 10:10:29 +01:00
memory License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
memstick License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
message License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mfd mfd: twl6040: Fix child-node lookup 2017-12-29 17:53:46 +01:00
misc drivers/misc/intel/pti: Rename the header file to free up the namespace 2017-12-25 14:26:20 +01:00
mmc mmc: core: apply NO_CMD23 quirk to some specific cards 2017-12-20 10:10:19 +01:00
mtd mtd: spi-nor: stm32-quadspi: Fix uninitialized error return code 2017-12-20 10:10:30 +01:00
mux mux: make device_type const 2017-08-29 13:46:35 +02:00
net ibmvnic: Set state UP 2017-12-25 14:26:29 +01:00
nfc License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ntb
nubus License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nvdimm libnvdimm, namespace: make 'resource' attribute only readable by root 2017-11-30 08:40:54 +00:00
nvme nvme: use kref_get_unless_zero in nvme_find_get_ns 2017-12-20 10:10:31 +01:00
nvmem License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
of License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
oprofile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
parisc License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
parport License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci PCI / PM: Force devices to D0 in pci_pm_thaw_noirq() 2017-12-29 17:53:47 +01:00
pcmcia License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perf License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
phy License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pinctrl pinctrl: adi2: Fix Kconfig build problem 2017-12-20 10:10:34 +01:00
platform platform/x86: asus-wireless: send an EV_SYN/SYN_REPORT between state changes 2017-12-25 14:26:31 +01:00
pnp License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
power Update MIPS email addresses 2017-11-03 09:02:30 -07:00
powercap
pps drivers/pps: use surrounding "if PPS" to remove numerous dependency checks 2017-09-08 18:26:51 -07:00
ps3
ptp License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pwm License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rapidio drivers/rapidio/devices/rio_mport_cdev.c: fix resource leak in error handling path in 'rio_dma_transfer()' 2017-12-14 09:53:08 +01:00
ras License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
regulator License cleanup: add SPDX license identifiers to some files 2017-11-02 10:04:46 -07:00
remoteproc License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
reset License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rpmsg rpmsg: glink: Initialize the "intent_req_comp" completion variable 2017-12-20 10:10:29 +01:00
rtc rtc: set the alarm to the next expiring timer 2017-12-25 14:26:30 +01:00
s390 s390/qeth: fix GSO throughput regression 2017-12-17 15:07:57 +01:00
sbus License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scsi scsi: lpfc: Fix warning messages when NVME_TARGET_FC not defined 2017-12-25 14:26:29 +01:00
sfi
sh License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sn
soc soc: mediatek: pwrap: fix compiler errors 2017-12-20 10:10:34 +01:00
spi spi: spi-axi: fix potential use-after-free after deregistration 2017-12-10 13:40:39 +01:00
spmi spmi: pmic-arb: Move the ownership check to irq_chip callback 2017-08-28 13:52:22 +02:00
ssb License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
staging staging: greybus: light: Release memory obtained by kasprintf 2017-12-25 14:26:30 +01:00
target target/file: Do not return error for UNMAP if length is zero 2017-12-20 10:10:26 +01:00
tc
tee optee: fix invalid of_node_put() in optee_driver_init() 2017-12-25 14:26:24 +01:00
thermal thermal/drivers/hisi: Fix multiple alarm interrupts firing 2017-12-25 14:26:31 +01:00
thunderbolt thunderbolt: tb: fix use after free in tb_activate_pcie_devices 2017-12-20 10:10:24 +01:00
tty serdev: ttyport: enforce tty-driver open() requirement 2017-12-20 10:10:33 +01:00
uio License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
usb usb: musb: da8xx: fix babble condition handling 2017-12-20 10:10:38 +01:00
uwb License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vfio vfio/pci: Virtualize Maximum Payload Size 2017-12-25 14:26:29 +01:00
vhost vhost: fix skb leak in handle_rx() 2017-12-17 15:07:56 +01:00
video backlight: pwm_bl: Fix overflow condition 2017-12-25 14:26:24 +01:00
virt virt: Convert to using %pOF instead of full_name 2017-08-29 08:52:51 -05:00
virtio virtio: release virtio index when fail to device_register 2017-12-14 09:52:48 +01:00
vlynq
vme License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
w1 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
watchdog License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xen License cleanup: add SPDX license identifiers to some files 2017-11-02 10:04:46 -07:00
zorro License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00