Bug in MTD NAND ONFI chipsize detection
Andrew Morton
akpm at linux-foundation.org
Wed May 11 21:33:22 EDT 2011
On Wed, 11 May 2011 11:25:22 -0500 Nitin Garg <nitingarg98 at gmail.com> wrote:
> Hi All,
>
> The nand_flash_detect_onfi function in mtd/nand detects the NAND flash
> device size using the ONFI parameters:
> chip->chipsize = (uint64_t)le32_to_cpu(p->blocks_per_lun) * mtd->erasesize;
>
> The lun_count is not taken into consideration due to which we detect
> wrong size for Micron MT29F8G08ADADAH4 as it has 2 logical units.
>
> We should change the chipsize calculation to:
> chip->chipsize = (uint64_t)le32_to_cpu(p->blocks_per_lun) *
> (uint64_t)le32_to_cpu(p->lun_count) * mtd->erasesize;
>
> Pls suggest.
>
Please send a tested, changelogged patch to fix it. Be sure to cc the
relevant maintainer and mailing list.
Thanks.
More information about the linux-mtd
mailing list