On Tue, Nov 28, 2023 at 09:15:06AM +0100, Johan Hovold wrote: > The pci_enable_link_state() helper is currently only called from > pci_walk_bus(), something which can lead to a deadlock as both helpers > take a pci_bus_sem read lock. > > Add a new locked helper which can be called with the read lock held and > fix up the two current users (the second is new in 6.7-rc1). > > Note that there are no users left of the original unlocked variant after > this series, but I decided to leave it in place for now (e.g. to mirror > the corresponding helpers to disable link states). > > Included are also a couple of related cleanups. > > Johan > > > Changes in v2 > - fix up the function name in a kernel doc comment as reported by the > kernel test robot <lkp@xxxxxxxxx> > > > Johan Hovold (6): > PCI/ASPM: Add locked helper for enabling link state > PCI: vmd: Fix deadlock when enabling ASPM > PCI: qcom: Fix deadlock when enabling ASPM > PCI: qcom: Clean up ASPM comment > PCI/ASPM: Clean up disable link state parameter > PCI/ASPM: Add lockdep assert to link state helper > > drivers/pci/controller/dwc/pcie-qcom.c | 7 ++- > drivers/pci/controller/vmd.c | 2 +- > drivers/pci/pcie/aspm.c | 65 +++++++++++++++++++------- > include/linux/pci.h | 3 ++ > 4 files changed, 56 insertions(+), 21 deletions(-) Applied to for-linus for v6.7, thanks, Johan!