ARM: LPC32XX MLC NAND Bad Block Handling

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Jul 19 08:49:24 EDT 2012


Hello,

it seems that the LPC32XX MLC NAND driver uses nand_default_block_markbad() to 
mark a block as bad.  This function will use nand_do_write_oob() with 
MTD_OPS_PLACE_OOB to write the bad block marker in the bad block itself.  This 
function will use chip->ecc.write_oob() to write the OOB which is

static int lpc32xx_write_oob(struct mtd_info *mtd, struct nand_chip *chip,
			      int page)
{
	/* None, write_oob conflicts with the automatic LPC MLC ECC decoder! */
	return 0;
}

Does this mean that the bad block mark is only present in the bad block table?

I think the driver should set NAND_BBT_NO_OOB_BBM to make this clear.

-- 
Sebastian Huber, embedded brains GmbH

Address : Obere Lagerstr. 30, D-82178 Puchheim, Germany
Phone   : +49 89 18 90 80 79-6
Fax     : +49 89 18 90 80 79-9
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.




More information about the linux-mtd mailing list