diff options
author | Alex Williamson <alex.williamson@redhat.com> | 2016-04-01 00:34:32 +0200 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2016-04-20 01:24:47 +0200 |
commit | c1d61c9bb163e696bf06850bcabbd26386554489 (patch) | |
tree | 00a63716b70ef533e59fc6122dafc863b8ee59e3 /drivers/pci/quirks.c | |
parent | PCI: Mark Intel i40e NIC INTx masking as broken (diff) | |
download | linux-c1d61c9bb163e696bf06850bcabbd26386554489.tar.xz linux-c1d61c9bb163e696bf06850bcabbd26386554489.zip |
PCI: Reverse standard ACS vs device-specific ACS enabling
The original thought was that if a device implemented ACS, then surely
we want to use that... well, it turns out that devices can make an ACS
capability so broken that we still need to fall back to quirks.
Reverse the order of ACS enabling to give quirks first shot at it.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci/quirks.c')
-rw-r--r-- | drivers/pci/quirks.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index e248c2aad000..1f5c7898a246 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -4201,7 +4201,7 @@ static const struct pci_dev_enable_acs { { 0 } }; -void pci_dev_specific_enable_acs(struct pci_dev *dev) +int pci_dev_specific_enable_acs(struct pci_dev *dev) { const struct pci_dev_enable_acs *i; int ret; @@ -4213,9 +4213,11 @@ void pci_dev_specific_enable_acs(struct pci_dev *dev) i->device == (u16)PCI_ANY_ID)) { ret = i->enable_acs(dev); if (ret >= 0) - return; + return ret; } } + + return -ENOTTY; } /* |