From 068ec03754e55d88d61df9270e5b6c9c1717b655 Mon Sep 17 00:00:00 2001 From: Arthur Jones Date: Fri, 25 Jul 2008 01:49:06 -0700 Subject: [PATCH] --- yaml --- r: 106044 b: refs/heads/master c: 43920a598f9358a12eb59eeddc4cd950f03aea8c h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/edac/i5100_edac.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 868ba5e495e8..22ff545365e6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f7952ffcffa88c9a3fa92c26081f4ec9143c680f +refs/heads/master: 43920a598f9358a12eb59eeddc4cd950f03aea8c diff --git a/trunk/drivers/edac/i5100_edac.c b/trunk/drivers/edac/i5100_edac.c index a8767a6c1481..509eec860c37 100644 --- a/trunk/drivers/edac/i5100_edac.c +++ b/trunk/drivers/edac/i5100_edac.c @@ -24,6 +24,8 @@ /* register addresses and bit field accessors... */ /* device 16, func 1 */ +#define I5100_MC 0x40 /* Memory Control Register */ +#define I5100_MC_ERRDETEN(a) ((a) >> 5 & 1) #define I5100_MS 0x44 /* Memory Status Register */ #define I5100_SPDDATA 0x48 /* Serial Presence Detect Status Reg */ #define I5100_SPDDATA_RDO(a) ((a) >> 15 & 1) @@ -688,6 +690,14 @@ static int __devinit i5100_init_one(struct pci_dev *pdev, goto bail; } + /* ECC enabled? */ + pci_read_config_dword(pdev, I5100_MC, &dw); + if (!I5100_MC_ERRDETEN(dw)) { + printk(KERN_INFO "i5100_edac: ECC not enabled.\n"); + ret = -ENODEV; + goto bail; + } + /* figure out how many ranks, from strapped state of 48GB_Mode input */ pci_read_config_dword(pdev, I5100_MS, &dw); ranksperch = !!(dw & (1 << 8)) * 2 + 4;