linux-stable/drivers/pci
Jisheng Zhang 07940c369a PCI: dwc: Fix MSI page leakage in suspend/resume
Currently, dw_pcie_msi_init() allocates and maps page for msi, then
program the PCIE_MSI_ADDR_LO and PCIE_MSI_ADDR_HI. The Root Complex
may lose power during suspend-to-RAM, so when we resume, we want to
redo the latter but not the former. If designware based driver (for
example, pcie-tegra194.c) calls dw_pcie_msi_init() in resume path, the
msi page will be leaked.

As pointed out by Rob and Ard, there's no need to allocate a page for
the MSI address, we could use an address in the driver data.

To avoid map the MSI msg again during resume, we move the map MSI msg
from dw_pcie_msi_init() to dw_pcie_host_init().

Suggested-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20201009155505.5a580ef5@xhacker.debian
Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Rob Herring <robh@kernel.org>
2020-10-13 09:52:49 +01:00
..
controller PCI: dwc: Fix MSI page leakage in suspend/resume 2020-10-13 09:52:49 +01:00
endpoint PCI: Fix kerneldoc warnings 2020-08-05 18:23:14 -05:00
hotplug pci-v5.9-changes 2020-08-07 18:48:15 -07:00
pcie pci-v5.9-changes 2020-08-07 18:48:15 -07:00
switch PCI: switchtec: Add missing __iomem tag to fix sparse warnings 2020-07-31 11:23:45 -05:00
access.c Merge branch 'pci/misc' 2020-08-05 18:24:16 -05:00
ats.c Merge branch 'pci/doc' 2020-08-05 18:24:22 -05:00
bus.c PCI: Add device even if driver attach failed 2020-07-07 17:33:41 -05:00
ecam.c PCI: host-generic: Support building as modules 2020-05-01 16:29:27 +01:00
host-bridge.c
iov.c s390/pci: create links between PFs and VFs 2020-05-20 10:22:51 +02:00
irq.c PCI: Remove unused pci_lost_interrupt() 2020-07-29 14:25:18 -05:00
Kconfig Merge branch 'pci/trivial' 2019-11-28 08:54:55 -06:00
Makefile PCI: Allow building PCIe things without PCIEPORTBUS 2019-11-21 07:52:33 -06:00
mmap.c
msi.c pci-v5.9-changes 2020-08-07 18:48:15 -07:00
of.c Merge branch 'pci/doc' 2020-08-05 18:24:22 -05:00
p2pdma.c Merge branch 'pci/peer-to-peer' 2020-08-05 18:24:17 -05:00
pci-acpi.c pci-v5.9-changes 2020-08-07 18:48:15 -07:00
pci-bridge-emul.c PCI: pci-bridge-emul: Eliminate the 'reserved' member 2020-05-22 12:39:35 +01:00
pci-bridge-emul.h PCI: pci-bridge-emul: Fix big-endian support 2019-10-17 12:42:48 +01:00
pci-driver.c PCI: Restrict probe functions to housekeeping CPUs 2020-07-08 11:39:01 +02:00
pci-label.c PCI: Replace http:// links with https:// 2020-06-30 13:05:09 -05:00
pci-mid.c PCI: intel-mid: Convert to new X86 CPU match macros 2020-03-24 21:35:06 +01:00
pci-pf-stub.c PCI: Fix kerneldoc warnings 2020-08-05 18:23:14 -05:00
pci-stub.c
pci-sysfs.c Merge branch 'pci/misc' 2020-04-02 14:26:38 -05:00
pci.c pci-v5.9-changes 2020-08-07 18:48:15 -07:00
pci.h Merge branch 'pci/host-probe-refactor' 2020-08-05 18:24:21 -05:00
probe.c PCI: Also call .add_bus() callback for root bus 2020-09-08 16:37:02 +01:00
proc.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
quirks.c pci-v5.9-changes 2020-08-07 18:48:15 -07:00
remove.c PCI: Fix pci_host_bridge struct device release/free handling 2020-05-14 16:36:35 -05:00
rom.c PCI: Use ioremap(), not phys_to_virt() for platform ROM 2020-03-30 09:52:23 -05:00
search.c Merge branch 'pci/host-vmd' 2020-01-29 17:00:02 -06:00
setup-bus.c Merge branch 'pci/doc' 2020-08-05 18:24:22 -05:00
setup-irq.c
setup-res.c PCI: Replace lkml.org, spinics, gmane with lore.kernel.org 2020-06-30 13:05:16 -05:00
slot.c PCI: Fix pci_create_slot() reference count leak 2020-07-10 15:48:22 -05:00
syscall.c
vc.c PCI: Fix kerneldoc warnings 2020-08-05 18:23:14 -05:00
vpd.c
xen-pcifront.c xen/pci: Get rid of verbose_request and use dev_dbg() instead 2020-05-29 10:44:59 -05:00