PCI: Apply Cavium ACS quirk only to CN81xx/CN83xx/CN88xx devices
authorManish Jaggi <mjaggi@caviumnetworks.com>
Thu, 30 Mar 2017 23:47:14 +0000 (18:47 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 30 Mar 2017 23:47:14 +0000 (18:47 -0500)
Only apply the Cavium ACS quirk to devices with ID in the range
0xa000-0xa0ff.  These are the on-chip PCI devices for CN81xx/CN83xx/CN88xx.

Fixes: b404bcfbf035 ("PCI: Add ACS quirk for all Cavium devices")
Reported-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Manish Jaggi <mjaggi@cavium.com>
Acked-by: David Daney <david.daney@cavium.com>
Acked-by: Alex Williamson <alex.williamson@redhat.com>
drivers/pci/quirks.c

index f754453fe754e985361cb49cee0bddf54d752443..178242d0d9dfcc306830e3d932f27df312010ebc 100644 (file)
@@ -4094,6 +4094,9 @@ static int pci_quirk_cavium_acs(struct pci_dev *dev, u16 acs_flags)
        acs_flags &= ~(PCI_ACS_SV | PCI_ACS_TB | PCI_ACS_RR |
                       PCI_ACS_CR | PCI_ACS_UF | PCI_ACS_DT);
 
+       if (!((dev->device >= 0xa000) && (dev->device <= 0xa0ff)))
+               return -ENOTTY;
+
        return acs_flags ? 0 : 1;
 }