[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1545061693-29216-3-git-send-email-frieder.schrempf@kontron.de>
Date: Mon, 17 Dec 2018 15:49:11 +0000
From: Schrempf Frieder <frieder.schrempf@...tron.de>
To: "boris.brezillon@...tlin.com" <boris.brezillon@...tlin.com>,
"miquel.raynal@...tlin.com" <miquel.raynal@...tlin.com>,
"richard@....at" <richard@....at>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
CC: "linux-mtd@...ts.infradead.org" <linux-mtd@...ts.infradead.org>,
"Schrempf Frieder" <frieder.schrempf@...tron.de>,
David Woodhouse <dwmw2@...radead.org>,
Brian Norris <computersforpeace@...il.com>,
Marek Vasut <marek.vasut@...il.com>
Subject: [PATCH 2/3] mtd: rawnand: ESMT: Also use the last page for bad block
markers
From: Frieder Schrempf <frieder.schrempf@...tron.de>
It is known that some ESMT SLC NANDs have been shipped
with the factory bad block markers in the first or last page
of the block, instead of the first or second page. To be on
the safe side, let's check all three locations.
Signed-off-by: Frieder Schrempf <frieder.schrempf@...tron.de>
---
drivers/mtd/nand/raw/nand_esmt.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/nand/raw/nand_esmt.c b/drivers/mtd/nand/raw/nand_esmt.c
index 96f039a..275bc8e 100644
--- a/drivers/mtd/nand/raw/nand_esmt.c
+++ b/drivers/mtd/nand/raw/nand_esmt.c
@@ -36,7 +36,14 @@ static void esmt_nand_decode_id(struct nand_chip *chip)
static int esmt_nand_init(struct nand_chip *chip)
{
if (nand_is_slc(chip))
- chip->bbt_options |= NAND_BBT_SCAN2NDPAGE;
+ /*
+ * It is known that some ESMT SLC NANDs have been shipped
+ * with the factory bad block markers in the first or last page
+ * of the block, instead of the first or second page. To be on
+ * the safe side, let's check all three locations.
+ */
+ chip->bbt_options |= NAND_BBT_SCAN2NDPAGE |
+ NAND_BBT_SCANLASTPAGE;
return 0;
}
--
2.7.4
Powered by blists - more mailing lists