nand_verify_pages — [GENERIC] verify the chip contents after a write
int nand_verify_pages ( | struct mtd_info * | mtd, |
| struct nand_chip * | this, | |
| int | page, | |
| int | numpages, | |
| u_char * | oob_buf, | |
| struct nand_oobinfo * | oobsel, | |
| int | chipnr, | |
| int | oobmode); |
mtdMTD device structure
thisNAND chip structure
pagestartpage inside the chip, must be called with (page & this->pagemask)
numpagesnumber of pages to verify
oob_bufout of band data buffer
oobselout of band selecttion structre
chipnrnumber of the current chip
oobmode1 = full buffer verify, 0 = ecc only
The NAND device assumes that it is always writing to a cleanly erased page. Hence, it performs its internal write verification only on bits that transitioned from 1 to 0. The device does NOT verify the whole page on a byte by byte basis. It is possible that the page was not completely erased or the page is becoming unusable due to wear. The read with ECC would catch the error later when the ECC page check fails, but we would rather catch it early in the page write stage. Better to write no data than invalid data.