PCIe r6.0 defined five additional errors in the Uncorrectable Error
Status, Mask and Severity Registers (PCIe r7.0 sec 7.8.4.2ff).
lspci has been supporting them since commit 144b0911cc0b ("ls-ecaps:
extend decode support for more fields for AER CE and UE status"):
https://git.kernel.org/pub/scm/utils/pciutils/pciutils.git/commit/?id=144b0911cc0b
Amend the AER driver to recognize them as well, instead of logging them as
"Unknown Error Bit".
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Cc: stable@vger.kernel.org
---
Last amendment of aer_uncorrectable_error_string[] was in 2019 for an
error introduced in PCIe r3.1, see commit 6458b438ebc1 ("PCI/AER: Add
PoisonTLPBlocked to Uncorrectable error counters").
drivers/pci/pcie/aer.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
@@ -43,7 +43,7 @@#define AER_ERROR_SOURCES_MAX 128#define AER_MAX_TYPEOF_COR_ERRS 16 /* as per PCI_ERR_COR_STATUS */-#define AER_MAX_TYPEOF_UNCOR_ERRS 27 /* as per PCI_ERR_UNCOR_STATUS*/+#define AER_MAX_TYPEOF_UNCOR_ERRS 32 /* as per PCI_ERR_UNCOR_STATUS*/structaer_err_source{u32status;/* PCI_ERR_ROOT_STATUS */
@@ -525,11 +525,11 @@ void pci_aer_exit(struct pci_dev *dev)"AtomicOpBlocked",/* Bit Position 24 */"TLPBlockedErr",/* Bit Position 25 */"PoisonTLPBlocked",/* Bit Position 26 */-NULL,/* Bit Position 27 */-NULL,/* Bit Position 28 */-NULL,/* Bit Position 29 */-NULL,/* Bit Position 30 */-NULL,/* Bit Position 31 */+"DMWrReqBlocked",/* Bit Position 27 */+"IDECheck",/* Bit Position 28 */+"MisIDETLP",/* Bit Position 29 */+"PCRC_CHECK",/* Bit Position 30 */+"TLPXlatBlocked",/* Bit Position 31 */};staticconstchar*aer_agent_string[]={
On Wed, Aug 27, 2025 at 03:41:09PM +0200, Lukas Wunner wrote:
PCIe r6.0 defined five additional errors in the Uncorrectable Error
Status, Mask and Severity Registers (PCIe r7.0 sec 7.8.4.2ff).
lspci has been supporting them since commit 144b0911cc0b ("ls-ecaps:
extend decode support for more fields for AER CE and UE status"):
https://git.kernel.org/pub/scm/utils/pciutils/pciutils.git/commit/?id=144b0911cc0b
Amend the AER driver to recognize them as well, instead of logging them as
"Unknown Error Bit".
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Cc: stable@vger.kernel.org
Applied to pci/aer for v6.18, thanks, Lukas!
quoted hunk
---
Last amendment of aer_uncorrectable_error_string[] was in 2019 for an
error introduced in PCIe r3.1, see commit 6458b438ebc1 ("PCI/AER: Add
PoisonTLPBlocked to Uncorrectable error counters").
drivers/pci/pcie/aer.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
@@ -43,7 +43,7 @@#define AER_ERROR_SOURCES_MAX 128#define AER_MAX_TYPEOF_COR_ERRS 16 /* as per PCI_ERR_COR_STATUS */-#define AER_MAX_TYPEOF_UNCOR_ERRS 27 /* as per PCI_ERR_UNCOR_STATUS*/+#define AER_MAX_TYPEOF_UNCOR_ERRS 32 /* as per PCI_ERR_UNCOR_STATUS*/structaer_err_source{u32status;/* PCI_ERR_ROOT_STATUS */
@@ -525,11 +525,11 @@ void pci_aer_exit(struct pci_dev *dev)"AtomicOpBlocked",/* Bit Position 24 */"TLPBlockedErr",/* Bit Position 25 */"PoisonTLPBlocked",/* Bit Position 26 */-NULL,/* Bit Position 27 */-NULL,/* Bit Position 28 */-NULL,/* Bit Position 29 */-NULL,/* Bit Position 30 */-NULL,/* Bit Position 31 */+"DMWrReqBlocked",/* Bit Position 27 */+"IDECheck",/* Bit Position 28 */+"MisIDETLP",/* Bit Position 29 */+"PCRC_CHECK",/* Bit Position 30 */+"TLPXlatBlocked",/* Bit Position 31 */};staticconstchar*aer_agent_string[]={
PCIe r6.0 defined five additional errors in the Uncorrectable Error
Status, Mask and Severity Registers (PCIe r7.0 sec 7.8.4.2ff).
is 2ff a typo ?
lspci has been supporting them since commit 144b0911cc0b ("ls-ecaps:
extend decode support for more fields for AER CE and UE status"):
https://git.kernel.org/pub/scm/utils/pciutils/pciutils.git/commit/?id=144b0911cc0b
Amend the AER driver to recognize them as well, instead of logging them as
"Unknown Error Bit".
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Cc: stable@vger.kernel.org
---
Last amendment of aer_uncorrectable_error_string[] was in 2019 for an
error introduced in PCIe r3.1, see commit 6458b438ebc1 ("PCI/AER: Add
PoisonTLPBlocked to Uncorrectable error counters").
drivers/pci/pcie/aer.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
@@ -43,7 +43,7 @@#define AER_ERROR_SOURCES_MAX 128#define AER_MAX_TYPEOF_COR_ERRS 16 /* as per PCI_ERR_COR_STATUS */-#define AER_MAX_TYPEOF_UNCOR_ERRS 27 /* as per PCI_ERR_UNCOR_STATUS*/+#define AER_MAX_TYPEOF_UNCOR_ERRS 32 /* as per PCI_ERR_UNCOR_STATUS*/structaer_err_source{u32status;/* PCI_ERR_ROOT_STATUS */
@@ -525,11 +525,11 @@ void pci_aer_exit(struct pci_dev *dev)"AtomicOpBlocked",/* Bit Position 24 */"TLPBlockedErr",/* Bit Position 25 */"PoisonTLPBlocked",/* Bit Position 26 */-NULL,/* Bit Position 27 */-NULL,/* Bit Position 28 */-NULL,/* Bit Position 29 */-NULL,/* Bit Position 30 */-NULL,/* Bit Position 31 */+"DMWrReqBlocked",/* Bit Position 27 */+"IDECheck",/* Bit Position 28 */+"MisIDETLP",/* Bit Position 29 */+"PCRC_CHECK",/* Bit Position 30 */+"TLPXlatBlocked",/* Bit Position 31 */};staticconstchar*aer_agent_string[]={
--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer
On Wed, Aug 27, 2025 at 12:56:41PM -0700, Sathyanarayanan Kuppuswamy wrote:
On 8/27/25 6:41 AM, Lukas Wunner wrote:
quoted
PCIe r6.0 defined five additional errors in the Uncorrectable Error
Status, Mask and Severity Registers (PCIe r7.0 sec 7.8.4.2ff).
is 2ff a typo ?
"ff" means "and following" (pages, etc), according to:
https://en.wiktionary.org/wiki/ff
Section 7.8.4.2 is the Status Register. The Mask and Severity Registers
are specified in the following sections 7.8.4.3 and 7.8.4.4.
Thanks,
Lukas
On Wed, Aug 27, 2025 at 12:56:41PM -0700, Sathyanarayanan Kuppuswamy wrote:
quoted
On 8/27/25 6:41 AM, Lukas Wunner wrote:
quoted
PCIe r6.0 defined five additional errors in the Uncorrectable Error
Status, Mask and Severity Registers (PCIe r7.0 sec 7.8.4.2ff).
is 2ff a typo ?
"ff" means "and following" (pages, etc), according to:
https://en.wiktionary.org/wiki/ff
Section 7.8.4.2 is the Status Register. The Mask and Severity Registers
are specified in the following sections 7.8.4.3 and 7.8.4.4.
Got it, thanks for clarifying. I wasn’t familiar with the "ff" notation.
Thanks,
Lukas
--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer