• Bjorn Helgaas's avatar
    PCI: aardvark: Correct Configuration RRS checking · dd4e47ea
    Bjorn Helgaas authored
    Per PCIe r6.0, sec 2.3.2, when a Root Complex handles a Completion with
    Request Retry Status for a Configuration Read Request that includes both
    bytes of the Vendor ID field, it must complete the Request to the host by
    returning 0001h for the Vendor ID and all 1's for any additional bytes.
    
    Previously we only returned the 0001h Vendor ID value if we got an RRS
    completion for reads of exactly 4 bytes.  A read of 2 bytes would not
    qualify, although the spec says it should.
    
    Check for reads of 2 or more bytes including the Vendor ID.
    
    I don't think this will fix any observable problems because RRS only
    applies to the first config reads after reset, and those are all currently
    dword (4-byte) reads.
    
    Link: https://lore.kernel.org/r/20240827234848.4429-3-helgaas@kernel.orgSigned-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    dd4e47ea
pci-aardvark.c 58.9 KB