Gregor reported a deadlock [1] when enabling a VF that supports ATS. This series is intended to fix that. The first patch should be enough to fix the deadlock; the rest are simplification and cleanup. These are based on v4.2-rc2. [1] http://permalink.gmane.org/gmane.linux.kernel.iommu/9433 --- Bjorn Helgaas (8): PCI: Allocate ATS struct during enumeration PCI: Embed ATS info directly into struct pci_dev PCI: Reduce size of ATS structure elements PCI: Rationalize pci_ats_queue_depth() error checking PCI: Inline the ATS setup code into pci_ats_init() PCI: Use pci_physfn() rather than looking up physfn by hand PCI: Clean up ATS error handling PCI: Move ATS declarations to linux/pci.h so they're all together drivers/pci/ats.c | 110 +++++++++++------------------------------------ drivers/pci/probe.c | 3 + drivers/pci/remove.c | 1 include/linux/pci-ats.h | 49 --------------------- include/linux/pci.h | 20 ++++++++- 5 files changed, 49 insertions(+), 134 deletions(-) -- 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