Following code has a race window between pci_find_bus() and pci_get_slot() if PCI hotplug operation happens between them which removes the pci_bus. So use PCI hotplug safe interface pci_get_domain_bus_and_slot() instead, which also reduces code complexity. struct pci_bus *pci_bus = pci_find_bus(domain, busno); struct pci_dev *pci_dev = pci_get_slot(pci_bus, devfn); Jiang Liu (5): PCI/IA64: simplify code by hotplug safe pci_get_domain_bus_and_slot() PCI/vga: simplify code by hotplug safe pci_get_domain_bus_and_slot() PCI/cpcihp: simplify code by hotplug safe pci_get_domain_bus_and_slot() PCI/IOV: simplify code by hotplug safe pci_get_domain_bus_and_slot() PCI/xen-pcifront: simplify code by hotplug safe pci_get_domain_bus_and_slot() arch/ia64/sn/kernel/io_common.c | 4 +--- drivers/gpu/vga/vgaarb.c | 15 +++------------ drivers/pci/hotplug/cpcihp_generic.c | 8 ++------ drivers/pci/iov.c | 8 ++------ drivers/pci/xen-pcifront.c | 10 ++-------- 5 files changed, 10 insertions(+), 35 deletions(-) -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html