mirror of
https://github.com/torvalds/linux.git
synced 2024-10-27 23:31:45 +00:00
5e0c21c75e
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> |
||
---|---|---|
.. | ||
aer_inject.c | ||
aer.c | ||
aspm.c | ||
bw_notification.c | ||
dpc.c | ||
err.c | ||
Kconfig | ||
Makefile | ||
pme.c | ||
portdrv_core.c | ||
portdrv_pci.c | ||
portdrv.h | ||
ptm.c |