diff options
Diffstat (limited to 'drivers/edac/i3000_edac.c')
-rw-r--r-- | drivers/edac/i3000_edac.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/edac/i3000_edac.c b/drivers/edac/i3000_edac.c index 8fe60ee37826..719ccbed7435 100644 --- a/drivers/edac/i3000_edac.c +++ b/drivers/edac/i3000_edac.c | |||
@@ -306,7 +306,7 @@ static int i3000_probe1(struct pci_dev *pdev, int dev_idx) | |||
306 | int rc; | 306 | int rc; |
307 | int i, j; | 307 | int i, j; |
308 | struct mem_ctl_info *mci = NULL; | 308 | struct mem_ctl_info *mci = NULL; |
309 | unsigned long last_cumul_size; | 309 | unsigned long last_cumul_size, nr_pages; |
310 | int interleaved, nr_channels; | 310 | int interleaved, nr_channels; |
311 | unsigned char dra[I3000_RANKS / 2], drb[I3000_RANKS]; | 311 | unsigned char dra[I3000_RANKS / 2], drb[I3000_RANKS]; |
312 | unsigned char *c0dra = dra, *c1dra = &dra[I3000_RANKS_PER_CHANNEL / 2]; | 312 | unsigned char *c0dra = dra, *c1dra = &dra[I3000_RANKS_PER_CHANNEL / 2]; |
@@ -391,11 +391,13 @@ static int i3000_probe1(struct pci_dev *pdev, int dev_idx) | |||
391 | 391 | ||
392 | csrow->first_page = last_cumul_size; | 392 | csrow->first_page = last_cumul_size; |
393 | csrow->last_page = cumul_size - 1; | 393 | csrow->last_page = cumul_size - 1; |
394 | csrow->nr_pages = cumul_size - last_cumul_size; | 394 | nr_pages = cumul_size - last_cumul_size; |
395 | last_cumul_size = cumul_size; | 395 | last_cumul_size = cumul_size; |
396 | 396 | ||
397 | for (j = 0; j < nr_channels; j++) { | 397 | for (j = 0; j < nr_channels; j++) { |
398 | struct dimm_info *dimm = csrow->channels[j].dimm; | 398 | struct dimm_info *dimm = csrow->channels[j].dimm; |
399 | |||
400 | dimm->nr_pages = nr_pages / nr_channels; | ||
399 | dimm->grain = I3000_DEAP_GRAIN; | 401 | dimm->grain = I3000_DEAP_GRAIN; |
400 | dimm->mtype = MEM_DDR2; | 402 | dimm->mtype = MEM_DDR2; |
401 | dimm->dtype = DEV_UNKNOWN; | 403 | dimm->dtype = DEV_UNKNOWN; |