- int nand_block_markbad_lowlevel(struct mtd_info * mtd, loff_t ofs);
- MTD device structure
- offset from device start
This function performs the generic NAND bad block marking steps (i.e., bad block table(s) and/or marker(s)). We only allow the hardware driver to specify how to write bad block markers to OOB (chip->block_markbad).
WE TRY OPERATIONS IN THE FOLLOWING ORDER
(1) erase the affected block, to allow OOB marker to be written cleanly (2) write bad block marker to OOB area of affected block (unless flag NAND_BBT_NO_OOB_BBM is present) (3) update the BBT Note that we retain the first error encountered in (2) or (3), finish the procedures, and dump the error in the end.
Thomas Gleixner <[email protected]>