1
0
Fork 0
remarkable-linux/drivers/mtd/ubi
Qi Wang 王起 (qiwang) 2c7ca5cc36 UBI: avoid program operation on NOR flash after erasure interrupted
nor_erase_prepare() will be called before erase a NOR flash, it will program '0'
into a block to mark this block. But program data into a erasure interrupted block
can cause program timtout(several minutes at most) error, could impact other
operation on NOR flash. So UBIFS can read this block first to avoid unneeded
program operation.

This patch try to put read operation at head of write operation in
nor_erase_prepare(), read out the data.
If the data is already corrupt, then no need to program any data into this block,
just go to erase this block.

This patch is validated on Micron NOR flash, part number is:JS28F512M29EWHA

Signed-off-by: Qi Wang <qiwang@micron.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
2014-01-09 18:25:38 +02:00
..
Kconfig UBI: Wire-up fastmap 2012-10-03 16:39:37 +03:00
Makefile UBI: Wire-up fastmap 2012-10-03 16:39:37 +03:00
attach.c UBI: fix error return code 2014-01-02 17:16:01 +02:00
build.c UBI: fix error return code 2014-01-02 17:16:01 +02:00
cdev.c ubi/cdev: switch to fixed_size_llseek() 2013-06-29 12:57:49 +04:00
debug.c UBI: embed ubi_debug_info field in ubi_device struct 2012-12-10 13:38:59 +02:00
debug.h mtd: rename random32() to prandom_u32() 2013-02-04 09:26:28 +02:00
eba.c UBI: Wire-up ->fm_sem 2012-10-03 12:29:37 +03:00
fastmap.c UBI: Add some asserts to ubi_attach_fastmap() 2013-10-03 19:42:51 +03:00
gluebi.c UBI: gluebi: rename misleading variables 2012-11-30 13:54:41 +02:00
io.c UBI: avoid program operation on NOR flash after erasure interrupted 2014-01-09 18:25:38 +02:00
kapi.c UBI: modify ubi_wl_flush function to clear work queue for a lnum 2012-05-21 11:34:41 +03:00
misc.c UBI: comply with coding style 2012-09-04 09:39:01 +03:00
ubi-media.h UBI: Add fastmap on-flash data structures 2012-10-03 12:29:37 +03:00
ubi.h UBI: embed ubi_debug_info field in ubi_device struct 2012-12-10 13:38:59 +02:00
upd.c UBI: replace memcpy with struct assignment 2012-12-03 13:54:14 +02:00
vmt.c UBI: introduce helpers dbg_chk_{io, gen} 2012-12-10 13:38:59 +02:00
vtbl.c UBI: introduce helpers dbg_chk_{io, gen} 2012-12-10 13:38:59 +02:00
wl.c UBI: fix refill_wl_user_pool() 2013-10-03 19:42:46 +03:00