linux/drivers/pci/pcie
Bjorn Helgaas 5e0c21c75e PCI/ASPM: Remove pcie_aspm_enabled() unnecessary locking
The lifetime of the link_state structure (bridge->link_state) is not the
same as the lifetime of "bridge" itself.  The link_state is allocated by
pcie_aspm_init_link_state() after children of the bridge have been
enumerated, and it is deallocated by pcie_aspm_exit_link_state() after all
children of the bridge (but not the bridge itself) have been removed.

Previously pcie_aspm_enabled() acquired aspm_lock to ensure that
link_state was not deallocated while we're looking at it.  But the fact
that the caller of pcie_aspm_enabled() holds a reference to @pdev means
there's always at least one child of the bridge, which means link_state
can't be deallocated.

Remove the unnecessary locking in pcie_aspm_enabled().

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2019-10-15 14:25:15 -05:00
..
aer_inject.c PCI: Fix typos and whitespace errors 2019-07-09 07:24:53 -05:00
aer.c PCI/AER: Log messages with pci_dev, not pcie_device 2019-05-09 16:45:02 -05:00
aspm.c PCI/ASPM: Remove pcie_aspm_enabled() unnecessary locking 2019-10-15 14:25:15 -05:00
bw_notification.c pci-v5.2-changes 2019-05-14 10:30:10 -07:00
dpc.c PCI/DPC: Log messages with pci_dev, not pcie_device 2019-05-09 16:27:34 -05:00
err.c PCI: Get rid of dev->has_secondary_link flag 2019-09-07 07:45:31 -05:00
Kconfig PCI/LINK: Add Kconfig option (default off) 2019-05-02 08:34:32 -05:00
Makefile PCI/LINK: Add Kconfig option (default off) 2019-05-02 08:34:32 -05:00
pme.c PCI/PME: Replace dev_printk(KERN_DEBUG) with dev_info() 2019-05-09 16:27:29 -05:00
portdrv_core.c Revert "PCI: Add missing link delays required by the PCIe spec" 2019-08-07 13:06:42 +02:00
portdrv_pci.c PCI/LINK: Report degraded links via link bandwidth notification 2019-03-05 15:04:13 -06:00
portdrv.h PCI/LINK: Add Kconfig option (default off) 2019-05-02 08:34:32 -05:00
ptm.c Merge branch 'pci/spdx' into next 2018-02-01 11:40:07 -06:00