|
@@ -370,8 +370,8 @@ static u32 bbt_get_ver_offs(struct mtd_info *mtd, struct nand_bbt_descr *td)
|
|
|
* Read the bad block table(s) for all chips starting at a given page. We
|
|
|
* assume that the bbt bits are in consecutive order.
|
|
|
*/
|
|
|
-static int read_abs_bbts(struct mtd_info *mtd, uint8_t *buf,
|
|
|
- struct nand_bbt_descr *td, struct nand_bbt_descr *md)
|
|
|
+static void read_abs_bbts(struct mtd_info *mtd, uint8_t *buf,
|
|
|
+ struct nand_bbt_descr *td, struct nand_bbt_descr *md)
|
|
|
{
|
|
|
struct nand_chip *this = mtd->priv;
|
|
|
|
|
@@ -392,7 +392,6 @@ static int read_abs_bbts(struct mtd_info *mtd, uint8_t *buf,
|
|
|
pr_info("Bad block table at page %d, version 0x%02X\n",
|
|
|
md->pages[0], md->version[0]);
|
|
|
}
|
|
|
- return 1;
|
|
|
}
|
|
|
|
|
|
/* Scan a given block full */
|
|
@@ -623,7 +622,9 @@ static int search_bbt(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_descr
|
|
|
*
|
|
|
* Search and read the bad block table(s).
|
|
|
*/
|
|
|
-static int search_read_bbts(struct mtd_info *mtd, uint8_t * buf, struct nand_bbt_descr *td, struct nand_bbt_descr *md)
|
|
|
+static void search_read_bbts(struct mtd_info *mtd, uint8_t *buf,
|
|
|
+ struct nand_bbt_descr *td,
|
|
|
+ struct nand_bbt_descr *md)
|
|
|
{
|
|
|
/* Search the primary table */
|
|
|
search_bbt(mtd, buf, td);
|
|
@@ -631,9 +632,6 @@ static int search_read_bbts(struct mtd_info *mtd, uint8_t * buf, struct nand_bbt
|
|
|
/* Search the mirror table */
|
|
|
if (md)
|
|
|
search_bbt(mtd, buf, md);
|
|
|
-
|
|
|
- /* Force result check */
|
|
|
- return 1;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1159,14 +1157,13 @@ int nand_scan_bbt(struct mtd_info *mtd, struct nand_bbt_descr *bd)
|
|
|
|
|
|
/* Is the bbt at a given page? */
|
|
|
if (td->options & NAND_BBT_ABSPAGE) {
|
|
|
- res = read_abs_bbts(mtd, buf, td, md);
|
|
|
+ read_abs_bbts(mtd, buf, td, md);
|
|
|
} else {
|
|
|
/* Search the bad block table using a pattern in oob */
|
|
|
- res = search_read_bbts(mtd, buf, td, md);
|
|
|
+ search_read_bbts(mtd, buf, td, md);
|
|
|
}
|
|
|
|
|
|
- if (res)
|
|
|
- res = check_create(mtd, buf, bd);
|
|
|
+ res = check_create(mtd, buf, bd);
|
|
|
|
|
|
/* Prevent the bbt regions from erasing / writing */
|
|
|
mark_bbt_region(mtd, td);
|