• Bjorn Helgaas's avatar
    PCI: Enable ECRC only if device supports it · 675734ba
    Bjorn Helgaas authored
    John reported that an Intel QuickAssist crypto accelerator didn't work in a
    Dell PowerEdge R730.  The problem seems to be that we enabled ECRC when the
    device doesn't support it:
    
      85:00.0 Co-processor [0b40]: Intel Corporation DH895XCC Series QAT [8086:0435]
        Capabilities: [100 v1] Advanced Error Reporting
          AERCap: First Error Pointer: 00, GenCap- CGenEn+ ChkCap- ChkEn+
    
    1302fcf0 ("PCI: Configure *all* devices, not just hot-added ones")
    exposed the problem because it applies settings from the _HPX method to all
    devices, not just hot-added ones.  The R730 supplies an _HPX method that
    allows the kernel to enable ECRC.
    
    Only enable ECRC if the device advertises support for it.
    
    Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1571798
    Fixes: 1302fcf0 ("PCI: Configure *all* devices, not just hot-added ones")
    Reported-by: default avatarJohn Mazzie <john_mazzie@dell.com>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    675734ba
probe.c 65.9 KB