linux/drivers/pci
Wei Hu 83cc3508ff PCI: hv: Fix the PCI HyperV probe failure path to release resource properly
In some error cases in hv_pci_probe(), allocated resources are not freed.

Fix this by adding a field to keep track of the high water mark for slots
that have resources allocated to them.  In case of an error, this high
water mark is used to know which slots have resources that must be released.
Since slots are numbered starting with zero, a value of -1 indicates no
slots have been allocated resources.  There may be unused slots in the range
between slot 0 and the high water mark slot, but these slots are already
ignored by the existing code in the allocate and release loops with the call
to get_pcichild_wslot().

Link: https://lore.kernel.org/r/20200507050211.10923-1-weh@microsoft.com
Signed-off-by: Wei Hu <weh@microsoft.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
2020-05-11 12:04:35 +01:00
..
controller PCI: hv: Fix the PCI HyperV probe failure path to release resource properly 2020-05-11 12:04:35 +01:00
endpoint PCI: dwc: Fix dw_pcie_ep_raise_msix_irq() to get correct MSI-X table address 2020-04-02 17:57:10 +01:00
hotplug powerpc updates for 5.7 2020-04-05 11:12:59 -07:00
pcie pci-v5.7-changes 2020-04-03 14:25:02 -07:00
switch pci/switchtec: Replace completion wait queue usage for poll 2020-03-21 16:00:20 +01:00
access.c
ats.c PCI/ATS: Export symbols of PASID functions 2020-03-18 21:32:25 +00:00
bus.c
ecam.c
host-bridge.c
iov.c PCI/IOV: Fix memory leak in pci_iov_add_virtfn() 2019-12-09 15:51:32 -06:00
irq.c
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 remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
of.c
p2pdma.c PCI/P2PDMA: Add Intel Sky Lake-E Root Ports B, C, D to the whitelist 2020-03-18 18:09:07 -05:00
pci-acpi.c Merge branch 'pci/misc' 2020-04-02 14:26:38 -05:00
pci-bridge-emul.c PCI: pci-bridge-emul: Use new constant PCI_STATUS_ERROR_BITS 2020-03-04 14:21:00 -08:00
pci-bridge-emul.h
pci-driver.c PCI/PM: Add missing link delays required by the PCIe spec 2019-11-20 17:37:24 -06:00
pci-label.c
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-stub.c
pci-sysfs.c Merge branch 'pci/misc' 2020-04-02 14:26:38 -05:00
pci.c pci-v5.7-changes 2020-04-03 14:25:02 -07:00
pci.h Merge branch 'pci/enumeration' 2020-04-02 14:26:32 -05:00
probe.c Merge branch 'pci/enumeration' 2020-04-02 14:26:32 -05:00
proc.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
quirks.c Merge branch 'pci/virtualization' 2020-04-02 14:26:45 -05:00
remove.c
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 PCI: Add support for root bus sizing 2020-03-30 09:52:34 -05:00
setup-irq.c
setup-res.c
slot.c PCI: Add pci_speed_string() 2020-03-10 14:05:33 -05:00
syscall.c
vc.c
vpd.c
xen-pcifront.c