diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2010-12-03 11:36:34 -0500 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2010-12-03 11:36:54 -0500 |
commit | 4ccb3b4497ce01fab4933704fe21581e30fda1a5 (patch) | |
tree | b1fae258faf3c54bf0d967fd4389a00460ede523 /drivers/mtd | |
parent | 01039e4e63a8ea0d66fcfc71d7b99769bbbed9d6 (diff) |
mtd: nand: Fix integer overflow in ONFI detection of chips >= 4GiB
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r-- | drivers/mtd/nand/nand_base.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index 75d199e4f25b..33550c43acc2 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c | |||
@@ -2894,7 +2894,7 @@ static int nand_flash_detect_onfi(struct mtd_info *mtd, struct nand_chip *chip, | |||
2894 | mtd->writesize = le32_to_cpu(p->byte_per_page); | 2894 | mtd->writesize = le32_to_cpu(p->byte_per_page); |
2895 | mtd->erasesize = le32_to_cpu(p->pages_per_block) * mtd->writesize; | 2895 | mtd->erasesize = le32_to_cpu(p->pages_per_block) * mtd->writesize; |
2896 | mtd->oobsize = le16_to_cpu(p->spare_bytes_per_page); | 2896 | mtd->oobsize = le16_to_cpu(p->spare_bytes_per_page); |
2897 | chip->chipsize = le32_to_cpu(p->blocks_per_lun) * mtd->erasesize; | 2897 | chip->chipsize = (uint64_t)le32_to_cpu(p->blocks_per_lun) * mtd->erasesize; |
2898 | busw = 0; | 2898 | busw = 0; |
2899 | if (le16_to_cpu(p->features) & 1) | 2899 | if (le16_to_cpu(p->features) & 1) |
2900 | busw = NAND_BUSWIDTH_16; | 2900 | busw = NAND_BUSWIDTH_16; |