diff options
Diffstat (limited to 'drivers/edac/amd64_edac.c')
-rw-r--r-- | drivers/edac/amd64_edac.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c index d6c0c6590607..b86228cce672 100644 --- a/drivers/edac/amd64_edac.c +++ b/drivers/edac/amd64_edac.c | |||
@@ -2642,8 +2642,15 @@ static int amd64_init_one_instance(struct pci_dev *F2) | |||
2642 | layers[0].size = pvt->csels[0].b_cnt; | 2642 | layers[0].size = pvt->csels[0].b_cnt; |
2643 | layers[0].is_virt_csrow = true; | 2643 | layers[0].is_virt_csrow = true; |
2644 | layers[1].type = EDAC_MC_LAYER_CHANNEL; | 2644 | layers[1].type = EDAC_MC_LAYER_CHANNEL; |
2645 | layers[1].size = pvt->channel_count; | 2645 | |
2646 | /* | ||
2647 | * Always allocate two channels since we can have setups with DIMMs on | ||
2648 | * only one channel. Also, this simplifies handling later for the price | ||
2649 | * of a couple of KBs tops. | ||
2650 | */ | ||
2651 | layers[1].size = 2; | ||
2646 | layers[1].is_virt_csrow = false; | 2652 | layers[1].is_virt_csrow = false; |
2653 | |||
2647 | mci = edac_mc_alloc(nid, ARRAY_SIZE(layers), layers, 0); | 2654 | mci = edac_mc_alloc(nid, ARRAY_SIZE(layers), layers, 0); |
2648 | if (!mci) | 2655 | if (!mci) |
2649 | goto err_siblings; | 2656 | goto err_siblings; |