Please try the attached patch. It makes it so that if the device does not support ECRC generation or checking, we don't enable those features. Currently (without this patch), we *do* enable ECRC generation and checking if _HPX allows, i.e., if the platform can support ECRC.
The ACPI dump confirms my theory from comment #65 that the system supplies an _HPX method with PCI_ERR_CAP_ECRC_GENE and PCI_ERR_CAP_ECRC_CHKE set (see disassembly below). Apparently the Intel Quick Assist card is at 85:00.0 ("Intel Corporation DH895XCC Series QAT"). Here's the path leading to it: pci 0000:80:02.0: [8086:6f04] # Xeon D PCI Express Root Port 2 pci 0000:80:02.0: PCI bridge to [bus 83-86] pci 0000:83:00.0: [10b5:8724] # PLX 8724 Upstream Port pci 0000:83:00.0: PCI bridge to [bus 84-86] pci 0000:84:00.0: [10b5:8724] # PLX 8724 Downstream Port pci 0000:84:00.0: PCI bridge to [bus 85] pci 0000:85:00.0: [8086:0435] # DH895XCC Series QAT Here are the ECRC settings along the path: 80:02.0: AERCap: GenCap+ CGenEn+ ChkCap+ ChkEn+ 83:00.0: AERCap: GenCap+ CGenEn+ ChkCap+ ChkEn+ 84:00.0: AERCap: GenCap+ CGenEn+ ChkCap+ ChkEn+ 85:00.0: AERCap: GenCap- CGenEn+ ChkCap- ChkEn+ This looks suspect because 85:00.0 claims that it does not support ECRC Generation ("GenCap-") or ECRC Checking ("ChkCap-"), yet we set the Enable bits for both features. The workaround in the initial report turns off ECRC checking in 80:02.0. I suspect that turning off ECRC generation and checking in 85:00.0, e.g., "setpci -s85:00.0 118.w=0" would also be a workaround. This patch should be the equivalent of this setpci command. Here's the _HPX disassembly from dsdt.dsl (extracted from comment #66): Device (PCI0) ... Method (_HPX, 0, NotSerialized) // _HPX: Hot Plug Parameter Extensions { Store ("_HPX", Debug) Name (SSDH, Package (0x01) { Package (0x12) { 0x02, 0x01, 0xFC000FCF, // Uncorrectable Mask AND 0x03A18000, // Uncorrectable Mask OR 0xFC000FCF, // Uncorrectable Severity AND 0x004E7030, // Uncorrectable Severity OR 0xFFFF0E3E, // Correctable Mask AND 0xF1C1, // Correctable Mask OR 0xFFFFFEBF, // AER AND 0x0140, // AER OR 0xFFF1, // Device Control AND 0x0E, // Device Control OR 0xFFFF, // Link Control AND 0x00, // Link Control OR 0xFFFFC010, // Secondary Uncorrectable Severity AND 0x1BC0, // Secondary Uncorrectable Severity OR 0xFFFFC010, // Secondary Uncorrectable Mask AND 0x242F // Secondary Uncorrectable Mask OR } }) Store (SSDH, Debug) Return (SSDH) } ** Attachment added: "test patch to leave ECRC disabled when unsupported" https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1571798/+attachment/4841199/+files/hpx-ecrc -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1571798 Title: Broadwell ECRC Support missing in Ubuntu To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1571798/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs