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&#160;11.&#160;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>&#160;</td><th width="60%" align="center">Chapter&#160;11.&#160;Internal Functions Provided</th><td width="20%" align="right">&#160;<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 &#8212; 
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>&#160;</td><td>loff_t <var class="pdparam">ofs</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</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-&gt;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>&#160;</td><td width="20%" align="center"><a accesskey="u" href="intfunctions.html">Up</a></td><td width="40%" align="right">&#160;<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>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span class="phrase">nand_check_wp</span></td></tr></table></div></body></html>
19