[U-Boot-Users] [PATCH] Fix NAND erase progress error

diff --git a/drivers/mtd/nand/nand_util.c b/drivers/mtd/nand/nand_util.c index 6c5624a..bd21e04 100644 --- a/drivers/mtd/nand/nand_util.c +++ b/drivers/mtd/nand/nand_util.c @@ -209,10 +209,15 @@ int nand_erase_opts(nand_info_t *meminfo, const nand_erase_options_t *opts) }
if (!opts->quiet) { - unsigned long long n =(unsigned long long) - (erase.addr + meminfo->erasesize - opts->offset) - * 100; + unsigned long long n; int percent; + size_t erased_size = erase.addr - opts->offset + meminfo->erasesize; + + if (erased_size > erase_length) { + erased_size = erase_length; + } + + n = (unsigned long long) erased_size * 100;
do_div(n, erase_length); percent = (int)n;

In message 1210903133-6960-1-git-send-email-hugo.villeneuve@lyrtech.com you wrote:
diff --git a/drivers/mtd/nand/nand_util.c b/drivers/mtd/nand/nand_util.c index 6c5624a..bd21e04 100644 --- a/drivers/mtd/nand/nand_util.c +++ b/drivers/mtd/nand/nand_util.c
Please describe what the error is, nd add your signed-off-by line.
Best regards,
Wolfgang Denk
participants (2)
-
Hugo Villeneuve
-
Wolfgang Denk