1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>nand_block_markbad_lowlevel</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="MTD NAND Driver Programming Interface"><link rel="up" href="intfunctions.html" title="Chapter 11. Internal Functions Provided"><link rel="prev" href="API-nand-default-block-markbad.html" title="nand_default_block_markbad"><link rel="next" href="API-nand-check-wp.html" title="nand_check_wp"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">nand_block_markbad_lowlevel</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-nand-default-block-markbad.html">Prev</a> </td><th width="60%" align="center">Chapter 11. Internal Functions Provided</th><td width="20%" align="right"> <a accesskey="n" href="API-nand-check-wp.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-nand-block-markbad-lowlevel"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>nand_block_markbad_lowlevel — 2 mark a block bad 3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">nand_block_markbad_lowlevel </b>(</code></td><td>struct mtd_info * <var class="pdparam">mtd</var>, </td></tr><tr><td> </td><td>loff_t <var class="pdparam">ofs</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp1102944884"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>mtd</code></em></span></dt><dd><p> 4 MTD device structure 5 </p></dd><dt><span class="term"><em class="parameter"><code>ofs</code></em></span></dt><dd><p> 6 offset from device start 7 </p></dd></dl></div></div><div class="refsect1"><a name="idp1102947444"></a><h2>Description</h2><p> 8 This function performs the generic NAND bad block marking steps (i.e., bad 9 block table(s) and/or marker(s)). We only allow the hardware driver to 10 specify how to write bad block markers to OOB (chip->block_markbad). 11</p></div><div class="refsect1"><a name="idp1102948444"></a><h2>We try operations in the following order</h2><p> 12 (1) erase the affected block, to allow OOB marker to be written cleanly 13 (2) write bad block marker to OOB area of affected block (unless flag 14 NAND_BBT_NO_OOB_BBM is present) 15 (3) update the BBT 16 Note that we retain the first error encountered in (2) or (3), finish the 17 procedures, and dump the error in the end. 18</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-nand-default-block-markbad.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="intfunctions.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-nand-check-wp.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">nand_default_block_markbad</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">nand_check_wp</span></td></tr></table></div></body></html> 19