>> @@ -1017,13 +1017,9 @@ static int vfio_cap_len(struct vfio_pci_device *vdev, u8 cap, u8 pos) >> return byte; >> case PCI_CAP_ID_EXP: >> /* length based on version */ >> - ret = pci_read_config_word(pdev, pos + PCI_EXP_FLAGS, &word); >> - if (ret) >> - return pcibios_err_to_errno(ret); >> - >> vdev->extended_caps = true; >> >> - if ((word & PCI_EXP_FLAGS_VERS) == 1) >> + if ((pdev->pcie_flags_reg & PCI_EXP_FLAGS_VERS) == 1) > > It looks like we should be using pcie_caps_reg(pdev) here instead of > directly accessing pcie_flags_reg. Thanks, That's right, I forget Myron Stowe introduced the PCIe Cap accessor function pcie_caps_reg(). I will resend the updated patch. Thanks! Yijing > > Alex > >> return PCI_CAP_EXP_ENDPOINT_SIZEOF_V1; >> else >> return PCI_CAP_EXP_ENDPOINT_SIZEOF_V2; > > > > > . > -- Thanks! Yijing -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html