On Jul 26, 2017 11:26 AM, "Casey Leedom" wrote: By the way Ding, two issues: 1. Did we ever get any acknowledgement from either Intel or AMD on this patch? I know that we can't ensure that, but it sure would be nice since the PCI Quirks that we're putting in affect their products. 2. I just realized that there's still a small hole in the patch with respect to PCIe SR-IOV Virtual Functions. When the PCI Quirk notices a problematic PCIe Device and marks it to note that it's not "happy" receiving Transaction Layer Packets with the Relaxed Ordering Attribute set, it's my understanding that your current patch iterates down the PCIe Fabric and turns off the PCIe Capability Device Control[Relaxed Ordering Enable]. But this scan may miss any SR-IOV VFs because they probably won't be instantiated at that time. And, at a later time, when they are instantiated, they could well have their Relaxed Ordering Enable set. I think that the patch will need to be extended to modify drivers/pci.c/iov.c:sriov_enable() to explicitly turn off Relaxed Ordering Enable if the Root Complex is marked for no RO TLPs. Casey I'm not sure that would be an issue. Wouldn't most VFs inherit the PF's settings? Also I thought most of the VF configuration space is read only. - Alex