edac: sb_edac: Fix a INTERLEAVE_MODE() misuse
authorHui Wang <jason77.wang@gmail.com>
Mon, 6 Feb 2012 07:11:00 +0000 (04:11 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 21 Mar 2012 18:20:02 +0000 (15:20 -0300)
We can identify dram interleave mode from the Dram Rule register
rather than Dram Interleave list register.

In this context, the reg of INTERLEAVE_MODE(reg) contains the Dram
Interleave list register, we can't get interleave mode from the reg,
while the variable interleave_mode saves the the mode got from the
Dram Rule register, so we use the variable to replace
INTERLEAVE_MDDE(reg) here.

Signed-off-by: Hui Wang <jason77.wang@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/edac/sb_edac.c

index f256a12..843545b 100644 (file)
@@ -923,7 +923,7 @@ static int get_memory_error_data(struct mem_ctl_info *mci,
                addr,
                limit,
                sad_way + 7,
-               INTERLEAVE_MODE(reg) ? "" : "XOR[18:16]");
+               interleave_mode ? "" : "XOR[18:16]");
        if (interleave_mode)
                idx = ((addr >> 6) ^ (addr >> 16)) & 7;
        else