|
@@ -24,6 +24,7 @@
|
|
|
* if we have HW ecc support.
|
|
|
* The AG-AND chips have nice features for speed improvement,
|
|
|
* which are not supported yet. Read / program 4 pages in one go.
|
|
|
+ * BBT table is not serialized, has to be fixed
|
|
|
*
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
* 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)
|
|
|
/* We write two bytes, so we dont have to mess with 16 bit
|
|
|
* access
|
|
|
*/
|
|
|
+ nand_get_device(chip, mtd, FL_WRITING);
|
|
|
ofs += mtd->oobsize;
|
|
|
chip->ops.len = chip->ops.ooblen = 2;
|
|
|
chip->ops.datbuf = NULL;
|
|
@@ -367,9 +369,11 @@ static int nand_default_block_markbad(struct mtd_info *mtd, loff_t ofs)
|
|
|
chip->ops.ooboffs = chip->badblockpos & ~0x01;
|
|
|
|
|
|
ret = nand_do_write_oob(mtd, ofs, &chip->ops);
|
|
|
+ nand_release_device(mtd);
|
|
|
}
|
|
|
if (!ret)
|
|
|
mtd->ecc_stats.badblocks++;
|
|
|
+
|
|
|
return ret;
|
|
|
}
|
|
|
|