diff options
Diffstat (limited to 'drivers/mtd/onenand/onenand_bbt.c')
| -rw-r--r-- | drivers/mtd/onenand/onenand_bbt.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/mtd/onenand/onenand_bbt.c b/drivers/mtd/onenand/onenand_bbt.c index 4510d3361eaa..1b00dac3d7d6 100644 --- a/drivers/mtd/onenand/onenand_bbt.c +++ b/drivers/mtd/onenand/onenand_bbt.c | |||
| @@ -17,6 +17,9 @@ | |||
| 17 | #include <linux/mtd/onenand.h> | 17 | #include <linux/mtd/onenand.h> |
| 18 | #include <linux/mtd/compatmac.h> | 18 | #include <linux/mtd/compatmac.h> |
| 19 | 19 | ||
| 20 | extern int onenand_do_read_oob(struct mtd_info *mtd, loff_t from, size_t len, | ||
| 21 | size_t *retlen, u_char *buf); | ||
| 22 | |||
| 20 | /** | 23 | /** |
| 21 | * check_short_pattern - [GENERIC] check if a pattern is in the buffer | 24 | * check_short_pattern - [GENERIC] check if a pattern is in the buffer |
| 22 | * @param buf the buffer to search | 25 | * @param buf the buffer to search |
| @@ -87,13 +90,13 @@ static int create_bbt(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_descr | |||
| 87 | 90 | ||
| 88 | /* No need to read pages fully, | 91 | /* No need to read pages fully, |
| 89 | * just read required OOB bytes */ | 92 | * just read required OOB bytes */ |
| 90 | ret = mtd->read_oob(mtd, from + j * mtd->oobblock + bd->offs, | 93 | ret = onenand_do_read_oob(mtd, from + j * mtd->writesize + bd->offs, |
| 91 | readlen, &retlen, &buf[0]); | 94 | readlen, &retlen, &buf[0]); |
| 92 | 95 | ||
| 93 | if (ret) | 96 | if (ret) |
| 94 | return ret; | 97 | return ret; |
| 95 | 98 | ||
| 96 | if (check_short_pattern(&buf[j * scanlen], scanlen, mtd->oobblock, bd)) { | 99 | if (check_short_pattern(&buf[j * scanlen], scanlen, mtd->writesize, bd)) { |
| 97 | bbm->bbt[i >> 3] |= 0x03 << (i & 0x6); | 100 | bbm->bbt[i >> 3] |= 0x03 << (i & 0x6); |
| 98 | printk(KERN_WARNING "Bad eraseblock %d at 0x%08x\n", | 101 | printk(KERN_WARNING "Bad eraseblock %d at 0x%08x\n", |
| 99 | i >> 1, (unsigned int) from); | 102 | i >> 1, (unsigned int) from); |
