diff options
| -rw-r--r-- | drivers/mtd/nand/nand_base.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index 7e68203fe1ba..4b019c6304e7 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | * if we have HW ecc support. | 24 | * if we have HW ecc support. |
| 25 | * The AG-AND chips have nice features for speed improvement, | 25 | * The AG-AND chips have nice features for speed improvement, |
| 26 | * which are not supported yet. Read / program 4 pages in one go. | 26 | * which are not supported yet. Read / program 4 pages in one go. |
| 27 | * BBT table is not serialized, has to be fixed | ||
| 27 | * | 28 | * |
| 28 | * This program is free software; you can redistribute it and/or modify | 29 | * This program is free software; you can redistribute it and/or modify |
| 29 | * it under the terms of the GNU General Public License version 2 as | 30 | * it under the terms of the GNU General Public License version 2 as |
| @@ -360,6 +361,7 @@ static int nand_default_block_markbad(struct mtd_info *mtd, loff_t ofs) | |||
| 360 | /* We write two bytes, so we dont have to mess with 16 bit | 361 | /* We write two bytes, so we dont have to mess with 16 bit |
| 361 | * access | 362 | * access |
| 362 | */ | 363 | */ |
| 364 | nand_get_device(chip, mtd, FL_WRITING); | ||
| 363 | ofs += mtd->oobsize; | 365 | ofs += mtd->oobsize; |
| 364 | chip->ops.len = chip->ops.ooblen = 2; | 366 | chip->ops.len = chip->ops.ooblen = 2; |
| 365 | chip->ops.datbuf = NULL; | 367 | chip->ops.datbuf = NULL; |
| @@ -367,9 +369,11 @@ static int nand_default_block_markbad(struct mtd_info *mtd, loff_t ofs) | |||
| 367 | chip->ops.ooboffs = chip->badblockpos & ~0x01; | 369 | chip->ops.ooboffs = chip->badblockpos & ~0x01; |
| 368 | 370 | ||
| 369 | ret = nand_do_write_oob(mtd, ofs, &chip->ops); | 371 | ret = nand_do_write_oob(mtd, ofs, &chip->ops); |
| 372 | nand_release_device(mtd); | ||
| 370 | } | 373 | } |
| 371 | if (!ret) | 374 | if (!ret) |
| 372 | mtd->ecc_stats.badblocks++; | 375 | mtd->ecc_stats.badblocks++; |
| 376 | |||
| 373 | return ret; | 377 | return ret; |
| 374 | } | 378 | } |
| 375 | 379 | ||
