Re: Bug in MTD NAND ONFI chipsize detection

From: Andrew Morton
Date: Wed May 11 2011 - 21:26:53 EST


On Wed, 11 May 2011 11:25:22 -0500 Nitin Garg <nitingarg98@xxxxxxxxx> 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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/