edac: sb_edac: Fix a INTERLEAVE_MODE() misuse

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>
This commit is contained in:
Hui Wang 2012-02-06 04:11:00 -03:00 committed by Mauro Carvalho Chehab
parent 22a5c27bec
commit ad9c40b7dd

View File

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