[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231114135553.32301-1-johan+linaro@kernel.org>
Date: Tue, 14 Nov 2023 14:55:47 +0100
From: Johan Hovold <johan+linaro@...nel.org>
To: Lorenzo Pieralisi <lpieralisi@...nel.org>,
Krzysztof WilczyĆski <kw@...ux.com>,
Bjorn Helgaas <bhelgaas@...gle.com>
Cc: Andy Gross <agross@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>,
Manivannan Sadhasivam <mani@...nel.org>,
Rob Herring <robh@...nel.org>,
Nirmal Patel <nirmal.patel@...ux.intel.com>,
Jonathan Derrick <jonathan.derrick@...ux.dev>,
linux-arm-msm@...r.kernel.org, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org,
Johan Hovold <johan+linaro@...nel.org>
Subject: [PATCH 0/6] PCI: Fix deadlocks when enabling ASPM
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
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(-)
--
2.41.0
Powered by blists - more mailing lists