From patchwork Mon Jun 18 16:18:52 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [09/22] UBI: Fastmap: Fix PEB count assert Date: Mon, 18 Jun 2012 06:18:52 -0000 From: Richard Weinberger X-Patchwork-Id: 165509 Message-Id: <1340036345-96726-10-git-send-email-richard@nod.at> To: linux-mtd@lists.infradead.org Cc: artem.bityutskiy@linux.intel.com, linux-kernel@vger.kernel.org, adrian.hunter@intel.com, Heinz.Egger@linutronix.de, thomas.wucher@linutronix.de, shmulik.ladkani@gmail.com, Richard Weinberger , tglx@linutronix.de, Marius.Mazarel@ugal.ro, tim.bird@am.sony.com Use also the bad PEB count value, otherwise the assert will fail if the FLASH has bad blocks. Signed-off-by: Richard Weinberger --- drivers/mtd/ubi/wl.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/ubi/wl.c b/drivers/mtd/ubi/wl.c index 4d9384b..58d74e4 100644 --- a/drivers/mtd/ubi/wl.c +++ b/drivers/mtd/ubi/wl.c @@ -1728,9 +1728,10 @@ int ubi_wl_init(struct ubi_device *ubi, struct ubi_attach_info *ai) dbg_wl("found %i PEBs", found_pebs); if (ubi->fm) - ubi_assert(ubi->peb_count == found_pebs + ubi->fm->used_blocks); + ubi_assert(ubi->peb_count - ubi->bad_peb_count == \ + found_pebs + ubi->fm->used_blocks); else - ubi_assert(ubi->peb_count == found_pebs); + ubi_assert(ubi->peb_count - ubi->bad_peb_count == found_pebs); if (ubi->avail_pebs < WL_RESERVED_PEBS) { ubi_err("no enough physical eraseblocks (%d, need %d)",