PCI: quirk fixup for cavium invalid sriov link value.

Cavium cn88xx hardware presents an incorrect SR-IOV Function
Dependency Link, add a fixup quirk for the affected devices.

Acked-by: David Daney <[email protected]>
Signed-off-by: Ananth Jasty <[email protected]>
Signed-off-by: Omer Khaliq <[email protected]>
Acked-by: Bjorn Helgaas <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
This commit is contained in:
Ananth Jasty authored and Herbert Xu committed 2016-08-31 23:00:38 +08:00
1 parent 16d56963e8
commit 21b5b8eebb
1 file changed
+11
+11
View File
@@ -834,6 +834,17 @@ static void quirk_amd_ioapic(struct pci_dev *dev)
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7410, quirk_amd_ioapic);
#endif /* CONFIG_X86_IO_APIC */
#ifdef CONFIG_ARM64
static void quirk_cavium_sriov_rnm_link(struct pci_dev *dev)
{
/* Fix for improper SRIOV configuration on Cavium cn88xx RNM device */
if (dev->subsystem_device == 0xa118)
dev->sriov->link = dev->devfn;
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CAVIUM, 0xa018, quirk_cavium_sriov_rnm_link);
#endif
/*
* Some settings of MMRBC can lead to data corruption so block changes.
* See AMD 8131 HyperTransport PCI-X Tunnel Revision Guide