EDAC: Correct channel count limit
authorBorislav Petkov <bp@suse.de>
Fri, 10 Jun 2016 08:28:38 +0000 (10:28 +0200)
committerBorislav Petkov <bp@suse.de>
Thu, 16 Jun 2016 08:06:35 +0000 (10:06 +0200)
commitbba142957e04c400440d2df83c1b3b2dfc42e220
treef302c90f69a2341144975883fdbe72b7d1ade029
parent6ba92fea1b6cf9969398df918157974ae8faa068
EDAC: Correct channel count limit

c44696fff04f ("EDAC: Remove arbitrary limit on number of channels")
lifted the arbitrary limit on memory controller channels in EDAC.
However, the dynamic channel attributes dynamic_csrow_dimm_attr and
dynamic_csrow_ce_count_attr remained 6.

This wasn't a problem except channels 6 and 7 weren't visible in sysfs
on machines with more than 6 channels after the conversion to static
attr groups with

  2c1946b6d629 ("EDAC: Use static attribute groups for managing sysfs entries")

 [ without that, we're exploding in edac_create_sysfs_mci_device()
   because we're dereferencing out of the bounds of the
   dynamic_csrow_dimm_attr array. ]

Add attributes for channels 6 and 7 along with a guard for the
future, should more channels be required and/or to sanity check for
misconfigured machines.

We still need to check against the number of channels present on the MC
first, as Thor reported.

Signed-off-by: Borislav Petkov <bp@suse.de>
Reported-by: Hironobu Ishii <ishii.hironobu@jp.fujitsu.com>
Tested-by: Thor Thayer <tthayer@opensource.altera.com>
Cc: <stable@vger.kernel.org> # 4.2
drivers/edac/edac_mc_sysfs.c