patch-2.4.25 linux-2.4.25/arch/mips64/mm/cerr-sb1.c

Next file: linux-2.4.25/arch/mips64/mm/cex-sb1.S
Previous file: linux-2.4.25/arch/mips64/mm/c-sb1.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.24/arch/mips64/mm/cerr-sb1.c linux-2.4.25/arch/mips64/mm/cerr-sb1.c
@@ -193,7 +193,9 @@
 		prom_printf(" c0_cerr_i   ==   %08x", cerr_i);
 		breakout_cerri(cerr_i);
 		if (CP0_CERRI_IDX_VALID(cerr_i)) {
-			if ((eepc & SB1_CACHE_INDEX_MASK) != (cerr_i & SB1_CACHE_INDEX_MASK))
+			/* Check index of EPC, allowing for delay slot */
+			if (((eepc & SB1_CACHE_INDEX_MASK) != (cerr_i & SB1_CACHE_INDEX_MASK)) &&
+			    ((eepc & SB1_CACHE_INDEX_MASK) != ((cerr_i & SB1_CACHE_INDEX_MASK) - 4)))
 				prom_printf(" cerr_i idx doesn't match eepc\n");
 			else {
 				res = extract_ic(cerr_i & SB1_CACHE_INDEX_MASK,

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)