projects
/
project
/
bcm63xx
/
u-boot.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
85bafb6
)
nand: reinstate lazy bad block scanning
author
Rostislav Lisovy
<lisovy@gmail.com>
Wed, 22 Oct 2014 11:40:44 +0000
(13:40 +0200)
committer
Scott Wood
<scottwood@freescale.com>
Thu, 27 Nov 2014 01:51:51 +0000
(19:51 -0600)
Commit
ff94bc40af3481d47546595ba73c136de6af6929
("mtd, ubi, ubifs: resync with Linux-3.14")
accidentally reverted part of the commit
13f0fd94e3cae6f8a0d9fba5d367e311edc8ebde
("NAND: Scan bad blocks lazily.").
Reinstate the change as by commit
fb49454b1b6c7c6e238ac3c0b1e302e73eb1a1ea
("nand: reinstate lazy bad block scanning")
Signed-off-by: Rostislav Lisovy <lisovy@merica.cz>
Acked-by: Heiko Schocher <hs@denx.de>
drivers/mtd/nand/nand_base.c
patch
|
blob
|
history
diff --git
a/drivers/mtd/nand/nand_base.c
b/drivers/mtd/nand/nand_base.c
index 0b6e7ee385c8da9bc5e5ad1f08c5e274e73edd15..70e780c3113a6049cfd5fac686bbfdd140b4050a 100644
(file)
--- a/
drivers/mtd/nand/nand_base.c
+++ b/
drivers/mtd/nand/nand_base.c
@@
-634,6
+634,11
@@
static int nand_block_checkbad(struct mtd_info *mtd, loff_t ofs, int getchip,
{
struct nand_chip *chip = mtd->priv;
+ if (!(chip->options & NAND_BBT_SCANNED)) {
+ chip->scan_bbt(mtd);
+ chip->options |= NAND_BBT_SCANNED;
+ }
+
if (!chip->bbt)
return chip->block_bad(mtd, ofs, getchip);
@@
-4322,10
+4327,9
@@
int nand_scan_tail(struct mtd_info *mtd)
/* Check, if we should skip the bad block table scan */
if (chip->options & NAND_SKIP_BBTSCAN)
-
return 0
;
+
chip->options |= NAND_BBT_SCANNED
;
- /* Build bad block table */
- return chip->scan_bbt(mtd);
+ return 0;
}
EXPORT_SYMBOL(nand_scan_tail);