[PATCH] EDAC: e752x bit mask fix
authorBrian Pomerantz <bapper@mvista.com>
Mon, 12 Feb 2007 08:53:03 +0000 (00:53 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 12 Feb 2007 17:48:32 +0000 (09:48 -0800)
The fatal vs.  non-fatal mask for the sysbus FERR status is incorrect
according to the E7520 datasheet.  This patch corrects the mask to correctly
handle fatal and non-fatal errors.

Signed-off-by: Brian Pomerantz <bapper@mvista.com>
Signed-off-by: Dave Jiang <djiang@mvista.com>
Signed-off-by: Doug Thompson <norsk5@xmission.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Andi Kleen <ak@suse.de>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/edac/e752x_edac.c

index c82bc0ed7f143113fcea830717b60f388a46b3dd..ab9873924f4f2088930a35ca4e91f8afe81d9c86 100644 (file)
@@ -556,17 +556,17 @@ static void e752x_check_sysbus(struct e752x_error_info *info,
        error32 = (stat32 >> 16) & 0x3ff;
        stat32 = stat32 & 0x3ff;
 
-       if(stat32 & 0x083)
-               sysbus_error(1, stat32 & 0x083, error_found, handle_error);
+       if(stat32 & 0x087)
+               sysbus_error(1, stat32 & 0x087, error_found, handle_error);
 
-       if(stat32 & 0x37c)
-               sysbus_error(0, stat32 & 0x37c, error_found, handle_error);
+       if(stat32 & 0x378)
+               sysbus_error(0, stat32 & 0x378, error_found, handle_error);
 
-       if(error32 & 0x083)
-               sysbus_error(1, error32 & 0x083, error_found, handle_error);
+       if(error32 & 0x087)
+               sysbus_error(1, error32 & 0x087, error_found, handle_error);
 
-       if(error32 & 0x37c)
-               sysbus_error(0, error32 & 0x37c, error_found, handle_error);
+       if(error32 & 0x378)
+               sysbus_error(0, error32 & 0x378, error_found, handle_error);
 }
 
 static void e752x_check_membuf (struct e752x_error_info *info,