From: Ezequiel Garcia Date: Fri, 21 Mar 2014 11:57:44 +0000 (-0300) Subject: mtd: Account for BBT blocks when a partition is being allocated X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=fdf43a420f5c2b737b0e65c4c3330867903b098a;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git mtd: Account for BBT blocks when a partition is being allocated With the introduction of mtd_block_isreserved(), it's now possible to fix the bad and reserved block distribution exposed by ecc_stats, instead of accounting all the bad or reserved blocks as 'bad'. Signed-off-by: Ezequiel Garcia Tested-by: Pekon Gupta Signed-off-by: Brian Norris --- diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c index 921e8c647884..a3e3a7d074d5 100644 --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c @@ -535,7 +535,9 @@ static struct mtd_part *allocate_partition(struct mtd_info *master, uint64_t offs = 0; while (offs < slave->mtd.size) { - if (mtd_block_isbad(master, offs + slave->offset)) + if (mtd_block_isreserved(master, offs + slave->offset)) + slave->mtd.ecc_stats.bbtblocks++; + else if (mtd_block_isbad(master, offs + slave->offset)) slave->mtd.ecc_stats.badblocks++; offs += slave->mtd.erasesize; }