diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2017-07-04 11:01:00 -0500 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2017-07-04 11:01:00 -0500 |
commit | b51cb82c49f3be56a54939fba917bcf005b23692 (patch) | |
tree | d07ae98e48e94a258c658e567769ed97b64927b3 /drivers/pci | |
parent | 10fc139f2d6a37f6e7d8fb68b6e497b1fdf4e00d (diff) | |
parent | 0cb259c47a4df466d641c1f07ae3eccaa9ba3ccb (diff) |
Merge branch 'pci/host-vmd' into next
* pci/host-vmd:
PCI: vmd: Move SRCU cleanup after bus, child device removal
PCI: vmd: Correct comment: VMD domains start at 0x10000, not 0x1000
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/host/vmd.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/pci/host/vmd.c b/drivers/pci/host/vmd.c index 784f63beb487..4c8a1257ab5d 100644 --- a/drivers/pci/host/vmd.c +++ b/drivers/pci/host/vmd.c @@ -539,7 +539,10 @@ static void vmd_detach_resources(struct vmd_dev *vmd) } /* - * VMD domains start at 0x1000 to not clash with ACPI _SEG domains. + * VMD domains start at 0x10000 to not clash with ACPI _SEG domains. + * Per ACPI r6.0, sec 6.5.6, _SEG returns an integer, of which the lower + * 16 bits are the PCI Segment Group (domain) number. Other bits are + * currently reserved. */ static int vmd_find_free_domain(void) { @@ -734,10 +737,10 @@ static void vmd_remove(struct pci_dev *dev) struct vmd_dev *vmd = pci_get_drvdata(dev); vmd_detach_resources(vmd); - vmd_cleanup_srcu(vmd); sysfs_remove_link(&vmd->dev->dev.kobj, "domain"); pci_stop_root_bus(vmd->bus); pci_remove_root_bus(vmd->bus); + vmd_cleanup_srcu(vmd); vmd_teardown_dma_ops(vmd); irq_domain_remove(vmd->irq_domain); } |