mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 07:33:19 +02:00
PCI: Add lockdep assertion in pci_stop_and_remove_bus_device()
Removing a PCI devices requires holding pci_rescan_remove_lock. Prompted by this being missed in sriov_disable() and going unnoticed since its inception, add a lockdep assert so this doesn't get missed again in the future. Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Benjamin Block <bblock@linux.ibm.com> Reviewed-by: Julian Ruess <julianr@linux.ibm.com> Link: https://patch.msgid.link/20250826-pci_fix_sriov_disable-v1-2-2d0bc938f2a3@linux.ibm.com
This commit is contained in:
parent
05703271c3
commit
60e7b5aa85
|
|
@ -84,6 +84,8 @@ struct pcie_tlp_log;
|
|||
extern const unsigned char pcie_link_speed[];
|
||||
extern bool pci_early_dump;
|
||||
|
||||
extern struct mutex pci_rescan_remove_lock;
|
||||
|
||||
bool pcie_cap_has_lnkctl(const struct pci_dev *dev);
|
||||
bool pcie_cap_has_lnkctl2(const struct pci_dev *dev);
|
||||
bool pcie_cap_has_rtctl(const struct pci_dev *dev);
|
||||
|
|
|
|||
|
|
@ -3469,7 +3469,7 @@ EXPORT_SYMBOL_GPL(pci_rescan_bus);
|
|||
* pci_rescan_bus(), pci_rescan_bus_bridge_resize() and PCI device removal
|
||||
* routines should always be executed under this mutex.
|
||||
*/
|
||||
static DEFINE_MUTEX(pci_rescan_remove_lock);
|
||||
DEFINE_MUTEX(pci_rescan_remove_lock);
|
||||
|
||||
void pci_lock_rescan_remove(void)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -138,6 +138,7 @@ static void pci_remove_bus_device(struct pci_dev *dev)
|
|||
*/
|
||||
void pci_stop_and_remove_bus_device(struct pci_dev *dev)
|
||||
{
|
||||
lockdep_assert_held(&pci_rescan_remove_lock);
|
||||
pci_stop_bus_device(dev);
|
||||
pci_remove_bus_device(dev);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user