linux/drivers/mtd/nand
Brian Norris 009184296d mtd: nand: erase block before marking bad
Many NAND flash systems (especially those with MLC NAND) cannot be
reliably written twice in a row. For instance, when marking a bad block,
the block may already have data written to it, and so we should attempt
to erase the block before writing a bad block marker to its OOB region.

We can ignore erase failures, since the block may be bad such that it
cannot be erased properly; we still attempt to write zeros to its spare
area.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2012-03-27 00:11:34 +01:00
..
gpmi-nand - Fix a regression in 16-bit Atmel NAND flash which was introduced in 3.1 2012-02-04 07:17:47 -08:00
alauda.c USB: convert some miscellanies drivers to use module_usb_driver() 2011-11-18 09:52:10 -08:00
ams-delta.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
atmel_nand.c Revert "mtd: atmel_nand: optimize read/write buffer functions" 2012-02-04 08:04:57 +00:00
atmel_nand_ecc.h
au1550nd.c MTD: nand: make au1550nd.c a platform_driver 2011-12-08 10:42:10 +00:00
autcpu12.c mtd: nand: rename NAND_USE_FLASH_BBT 2011-09-11 15:01:56 +03:00
bcm_umi_bch.c
bcm_umi_nand.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
bf5xx_nand.c mtd: bf5xx_nand: convert to mtd_device_register() 2011-05-25 02:23:15 +01:00
cafe_nand.c Merge git://git.infradead.org/mtd-2.6 2011-11-07 09:11:16 -08:00
cmx270_nand.c Merge git://git.infradead.org/mtd-2.6 2011-11-07 09:11:16 -08:00
cs553x_nand.c mtd: cs553x_nand.c: use mtd_device_parse_register 2011-09-11 15:02:08 +03:00
davinci_nand.c mtd: davinci: if no amif timing is passed, don; t setup cscfg register 2012-01-09 18:13:25 +00:00
denali.c mtd: denali: detect the number of banks before resetting NAND 2011-09-11 15:02:04 +03:00
denali.h mtd: denali: detect the number of banks 2011-05-25 02:02:12 +01:00
diskonchip.c mtd: introduce mtd_read interface 2012-01-09 18:25:19 +00:00
fsl_elbc_nand.c mtd: nand: Add ONFI support for FSL NAND controller 2012-01-09 18:18:47 +00:00
fsl_upm.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
fsmc_nand.c mtd: fsmc_nand.c: use mtd_device_parse_register 2011-09-11 15:02:08 +03:00
gpio.c mtd: gpio-nand: add device tree bindings 2012-01-09 18:23:58 +00:00
h1910.c mtd: h1910.c: use mtd_device_parse_register 2011-09-11 15:02:08 +03:00
jz4740_nand.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
Kconfig MTD pull for 3.3 2012-01-10 13:45:22 -08:00
Makefile mtd: add GPMI-NAND driver in the config and Makefile 2011-09-11 15:02:18 +03:00
mpc5121_nfc.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
mxc_nand.c mtd: mxc_nand: preset_v1_v2: unlock all NAND flash blocks 2011-09-23 15:25:35 +03:00
nand_base.c mtd: nand: erase block before marking bad 2012-03-27 00:11:34 +01:00
nand_bbt.c mtd: introduce mtd_write_oob interface 2012-01-09 18:25:24 +00:00
nand_bch.c mtd: cleanup style on pr_debug messages 2011-09-11 15:02:16 +03:00
nand_bcm_umi.c
nand_bcm_umi.h mtd: nand_bcm: fix hot spin and code duplication 2010-02-26 16:56:35 +00:00
nand_ecc.c mtd: spelling, capitalization, uniformity 2011-09-11 15:02:13 +03:00
nand_ids.c mtd: nand: add 512 Mbit device code (Macronix) 2012-01-09 17:59:44 +00:00
nandsim.c mtd: introduce mtd_block_markbad interface 2012-01-09 18:25:48 +00:00
ndfc.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
nomadik_nand.c mtd: introduce mtd_resume interface 2012-01-09 18:25:46 +00:00
nuc900_nand.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
omap2.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
orion_nand.c mtd: orion_nand.c: use mtd_device_parse_register 2011-09-11 15:02:09 +03:00
pasemi_nand.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
plat_nand.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
ppchameleonevb.c mtd: ppchameleonevb.c: use mtd_device_parse_register 2011-09-11 15:02:09 +03:00
pxa3xx_nand.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
r852.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
r852.h mtd: r852: remove useless pci powerup/down from suspend/resume routines 2010-10-25 01:32:21 +01:00
rtc_from4.c mtd: replace DEBUG() with pr_debug() 2011-09-11 15:02:16 +03:00
s3c2410.c mtd: s3c2410 nand: Remove uncessary null check 2011-09-11 15:02:17 +03:00
sh_flctl.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
sharpsl.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
sm_common.c mtd: introduce mtd_write_oob interface 2012-01-09 18:25:24 +00:00
sm_common.h mtd: sm_common: split smartmedia and xD table 2010-05-14 01:03:46 +01:00
socrates_nand.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
spia.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
tmio_nand.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
txx9ndfmc.c mtd: txx9ndfmc: use devm_request_and_ioremap 2012-01-09 18:24:11 +00:00