[PATCH] fsb ecc don't work correctly on any intel cpu but the xeon! fixed.

From: Konstantin Olifer
Date: Sat Dec 26 2009 - 08:59:17 EST


Hello,

Kernel 2.6.32 e752x_edac suppose that fsb ECC exist, for example, on
Celeron + 3100. That is wrong. ECC FSB supported only on Xeon for our
vision and datasheet from developer intel www. Fixed.

Thank you.

Wish a Happy Christmas and Happy New Year!


Best regards,
Konstantin




--- ./linux-2.6.32/drivers/edac/e752x_edac.c.orig 2009-12-03
06:51:21.000000000 +0300
+++ ./linux-2.6.32/drivers/edac/e752x_edac.c 2009-12-26 16:29:14.000000000 +0300
@@ -1072,11 +1072,8 @@ fail:
}

/* Setup system bus parity mask register.
- * Sysbus parity supported on:
- * e7320/e7520/e7525 + Xeon
- * i3100 + Xeon/Celeron
- * Sysbus parity not supported on:
- * i3100 + Pentium M/Celeron M/Core Duo/Core2 Duo
+ * Sysbus parity supported _only on_:
+ * e7320/e7520/e7525 + Xeon
*/
static void e752x_init_sysbus_parity_mask(struct e752x_pvt *pvt)
{
@@ -1084,13 +1081,11 @@ static void e752x_init_sysbus_parity_mas
struct pci_dev *dev = pvt->dev_d0f1;
int enable = 1;

- /* Allow module parameter override, else see if CPU supports parity */
+ /* Allow module paramter override, else see if CPU supports parity */
if (sysbus_parity != -1) {
enable = sysbus_parity;
} else if (cpu_id[0] &&
- ((strstr(cpu_id, "Pentium") && strstr(cpu_id, " M ")) ||
- (strstr(cpu_id, "Celeron") && strstr(cpu_id, " M ")) ||
- (strstr(cpu_id, "Core") && strstr(cpu_id, "Duo")))) {
+ !strstr(cpu_id, "Xeon")) {
e752x_printk(KERN_INFO, "System Bus Parity not "
"supported by CPU, disabling\n");
enable = 0;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/