aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/controller/dwc/pcie-designware-host.c
diff options
context:
space:
mode:
authorRajat Jain <rajatja@google.com>2020-10-28 16:15:45 -0700
committerBjorn Helgaas <bhelgaas@google.com>2020-10-30 16:26:51 -0500
commit462b58fb033996e999cc213ed0b430d4f22a28fe (patch)
tree9876a4987bf047d6ae97fdfd49212d5e533b8197 /drivers/pci/controller/dwc/pcie-designware-host.c
parentLinux 5.10-rc1 (diff)
downloadlinux-dev-462b58fb033996e999cc213ed0b430d4f22a28fe.tar.xz
linux-dev-462b58fb033996e999cc213ed0b430d4f22a28fe.zip
PCI: Always enable ACS even if no ACS Capability
Some devices support ACS functionality even though they don't have a spec-compliant ACS Capability; pci_enable_acs() has a quirk mechanism to handle them. We want to enable ACS whenever possible, but 52fbf5bdeeef ("PCI: Cache ACS capability offset in device") inadvertently broke this by calling pci_enable_acs() only if we find an ACS Capability. This resulted in ACS not being enabled for these non-compliant devices, which means devices can't be separated into different IOMMU groups, which in turn means we may not be able to pass those devices through to VMs, as reported by Boris V: https://lore.kernel.org/r/74aeea93-8a46-5f5a-343c-790d4c655da3@bstnet.org Fixes: 52fbf5bdeeef ("PCI: Cache ACS capability offset in device") Link: https://lore.kernel.org/r/20201028231545.4116866-1-rajatja@google.com Reported-by: Boris V <borisvk@bstnet.org> Signed-off-by: Rajat Jain <rajatja@google.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'drivers/pci/controller/dwc/pcie-designware-host.c')
0 files changed, 0 insertions, 0 deletions