@@ -644,4 +644,20 @@ static void quirk_chelsio_extend_vpd(struct pci_dev *dev)
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CHELSIO, PCI_ANY_ID,
quirk_chelsio_extend_vpd);
+static void quirk_al_vpd_release(struct pci_dev *dev)
+{
+ if (dev->vpd) {
+ pci_vpd_release(dev);
+ dev->vpd = NULL;
+ pci_warn(dev, FW_BUG "Releasing VPD capability (No support for VPD read/write transactions)\n");
+ }
+}
+
+/*
+ * The 0031 device id is reused for other non Root Port device types,
+ * therefore the quirk is registered for the PCI_CLASS_BRIDGE_PCI class.
+ */
+DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_VENDOR_ID_AMAZON_ANNAPURNA_LABS, 0x0031,
+ PCI_CLASS_BRIDGE_PCI, 8, quirk_al_vpd_release);
+
#endif