]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
EDAC/altera: Use INTTEST register for Ethernet and USB SBE injection
authorNiravkumar L Rabara <niravkumarlaxmidas.rabara@altera.com>
Tue, 11 Nov 2025 08:13:33 +0000 (16:13 +0800)
committerBorislav Petkov (AMD) <bp@alien8.de>
Tue, 11 Nov 2025 13:59:04 +0000 (14:59 +0100)
The current single-bit error injection mechanism flips bits directly in ECC RAM
by performing write and read operations. When the ECC RAM is actively used by
the Ethernet or USB controller, this approach sometimes trigger a false
double-bit error.

Switch both Ethernet and USB EDAC devices to use the INTTEST register
(altr_edac_a10_device_inject_fops) for single-bit error injection, similar to
the existing double-bit error injection method.

Fixes: 064acbd4f4ab ("EDAC, altera: Add Stratix10 peripheral support")
Signed-off-by: Niravkumar L Rabara <niravkumarlaxmidas.rabara@altera.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Acked-by: Dinh Nguyen <dinguyen@kernel.org>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20251111081333.1279635-1-niravkumarlaxmidas.rabara@altera.com
drivers/edac/altera_edac.c

index a776d61027f29ea325026151fba699c93d9a2a17..0c5b94e64ea15787ff220994b177faf216c5634b 100644 (file)
@@ -1369,7 +1369,7 @@ static const struct edac_device_prv_data a10_enetecc_data = {
        .ue_set_mask = ALTR_A10_ECC_TDERRA,
        .set_err_ofst = ALTR_A10_ECC_INTTEST_OFST,
        .ecc_irq_handler = altr_edac_a10_ecc_irq,
-       .inject_fops = &altr_edac_a10_device_inject2_fops,
+       .inject_fops = &altr_edac_a10_device_inject_fops,
 };
 
 #endif /* CONFIG_EDAC_ALTERA_ETHERNET */
@@ -1459,7 +1459,7 @@ static const struct edac_device_prv_data a10_usbecc_data = {
        .ue_set_mask = ALTR_A10_ECC_TDERRA,
        .set_err_ofst = ALTR_A10_ECC_INTTEST_OFST,
        .ecc_irq_handler = altr_edac_a10_ecc_irq,
-       .inject_fops = &altr_edac_a10_device_inject2_fops,
+       .inject_fops = &altr_edac_a10_device_inject_fops,
 };
 
 #endif /* CONFIG_EDAC_ALTERA_USB */