Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] EDAC: e752x bit mask fix

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>

authored by

Brian Pomerantz and committed by
Linus Torvalds
dfb2a763 27b0b2f4

+8 -8
+8 -8
drivers/edac/e752x_edac.c
··· 556 556 error32 = (stat32 >> 16) & 0x3ff; 557 557 stat32 = stat32 & 0x3ff; 558 558 559 - if(stat32 & 0x083) 560 - sysbus_error(1, stat32 & 0x083, error_found, handle_error); 559 + if(stat32 & 0x087) 560 + sysbus_error(1, stat32 & 0x087, error_found, handle_error); 561 561 562 - if(stat32 & 0x37c) 563 - sysbus_error(0, stat32 & 0x37c, error_found, handle_error); 562 + if(stat32 & 0x378) 563 + sysbus_error(0, stat32 & 0x378, error_found, handle_error); 564 564 565 - if(error32 & 0x083) 566 - sysbus_error(1, error32 & 0x083, error_found, handle_error); 565 + if(error32 & 0x087) 566 + sysbus_error(1, error32 & 0x087, error_found, handle_error); 567 567 568 - if(error32 & 0x37c) 569 - sysbus_error(0, error32 & 0x37c, error_found, handle_error); 568 + if(error32 & 0x378) 569 + sysbus_error(0, error32 & 0x378, error_found, handle_error); 570 570 } 571 571 572 572 static void e752x_check_membuf (struct e752x_error_info *info,