• Borislav Petkov's avatar
    amd64_edac: Fix single-channel setups · 34db3c07
    Borislav Petkov authored
    commit f0a56c480196a98479760862468cc95879df3de0 upstream.
    
    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: default avatarRoger Leigh <rleigh@debian.org>
    Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    34db3c07
amd64_edac.c 69.5 KB