diff options
Diffstat (limited to 'drivers/edac/sb_edac.c')
| -rw-r--r-- | drivers/edac/sb_edac.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c index f3b1f9fafa4..5715b7c2c51 100644 --- a/drivers/edac/sb_edac.c +++ b/drivers/edac/sb_edac.c @@ -513,7 +513,8 @@ static int get_dimm_config(struct mem_ctl_info *mci)  {  	struct sbridge_pvt *pvt = mci->pvt_info;  	struct dimm_info *dimm; -	int i, j, banks, ranks, rows, cols, size, npages; +	unsigned i, j, banks, ranks, rows, cols, npages; +	u64 size;  	u32 reg;  	enum edac_type mode;  	enum mem_type mtype; @@ -585,10 +586,10 @@ static int get_dimm_config(struct mem_ctl_info *mci)  				cols = numcol(mtr);  				/* DDR3 has 8 I/O banks */ -				size = (rows * cols * banks * ranks) >> (20 - 3); +				size = ((u64)rows * cols * banks * ranks) >> (20 - 3);  				npages = MiB_TO_PAGES(size); -				edac_dbg(0, "mc#%d: channel %d, dimm %d, %d Mb (%d pages) bank: %d, rank: %d, row: %#x, col: %#x\n", +				edac_dbg(0, "mc#%d: channel %d, dimm %d, %Ld Mb (%d pages) bank: %d, rank: %d, row: %#x, col: %#x\n",  					 pvt->sbridge_dev->mc, i, j,  					 size, npages,  					 banks, ranks, rows, cols);  |