amd64_edac: Fix single-channel setups
authorBorislav Petkov <bp@suse.de>
Tue, 23 Jul 2013 18:01:23 +0000 (20:01 +0200)
committerBorislav Petkov <bp@suse.de>
Mon, 29 Jul 2013 15:22:41 +0000 (17:22 +0200)
commitf0a56c480196a98479760862468cc95879df3de0
tree0702dbc1a848f8d30cc57a7af052ff1e9e70feb9
parentc542b53da9ffa4fe9de61149818a06aacae531f8
amd64_edac: Fix single-channel setups

It can happen that configurations are running in a single-channel mode
even with a dual-channel memory controller, by, say, putting the DIMMs
only on the one channel and leaving the other empty. This causes a
problem in init_csrows which implicitly assumes that when the second
channel is enabled, i.e. channel 1, the struct dimm hierarchy will be
present. Which is not.

So always allocate two channels unconditionally.

This provides for the nice side effect that the data structures are
initialized so some day, when memory hotplug is supported, it should
just work out of the box when all of a sudden a second channel appears.

Reported-and-tested-by: Roger Leigh <rleigh@debian.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
drivers/edac/amd64_edac.c