]> www.infradead.org Git - users/dwmw2/linux.git/commit
PCI: Make pci_stop_dev() concurrent safe
authorKeith Busch <kbusch@kernel.org>
Tue, 22 Oct 2024 22:48:47 +0000 (15:48 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 11 Nov 2024 19:05:50 +0000 (13:05 -0600)
commit93093ea1f05928b123dae38b710631362bef1601
treed4878a521c9687541a9b9c69da0e4ed8c70434b7
parent9852d85ec9d492ebef56dc5f229416c925758edc
PCI: Make pci_stop_dev() concurrent safe

Use the atomic ADDED flag to ensure concurrent callers can't attempt to
stop the device multiple times. Callers should currently all be holding the
pci_rescan_remove_lock, so there shouldn't be an existing race. But that
global lock can cause lock dependency issues, so this is preparing to
reduce reliance on that lock by using the existing existing atomic bit ops.

Link: https://lore.kernel.org/r/20241022224851.340648-2-kbusch@meta.com
Signed-off-by: Keith Busch <kbusch@kernel.org>
[bhelgaas: squash https://lore.kernel.org/r/20241111180659.3321671-1-kbusch@meta.com]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/pci/bus.c
drivers/pci/pci.h
drivers/pci/remove.c