linux/drivers/mtd
Alexey Korolev fb6d080c6f mtd: fix broken state in CFI driver caused by FL_SHUTDOWN
THe CFI driver in 2.6.24 kernel is broken.  Not so intensive read/write
operations cause incomplete writes which lead to kernel panics in JFFS2.

We investigated the issue - it is caused by bug in FL_SHUTDOWN parsing code.
Sometimes chip returns -EIO as if it is in FL_SHUTDOWN state when it should
wait in FL_PONT (error in order of conditions).

The following patch fixes the bug in state parsing code of CFI.  Also I've
added comments to notify developers if they want to add new case in future.

Signed-off-by: Alexey Korolev <akorolev@infradead.org>
Reviewed-by: Joern Engel <joern@logfs.org>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-04-04 14:46:26 -07:00
..
chips mtd: fix broken state in CFI driver caused by FL_SHUTDOWN 2008-04-04 14:46:26 -07:00
devices mtd: memory corruption in block2mtd.c 2008-03-24 19:22:19 -07:00
maps mtd: maps/physmap: fix oops in suspend/resume/shutdown ops 2008-03-28 14:45:22 -07:00
nand mtd: nand: add out label in rfc_from4 2008-03-28 14:45:21 -07:00
onenand [MTD] onenand: Add panic_write function to the onenand driver 2008-02-07 10:31:23 +00:00
ubi UBI: mtd/ubi/vtbl.c: fix memory leak 2008-03-04 11:03:09 +02:00
afs.c [MTD] replace kmalloc+memset with kzalloc 2006-11-28 23:47:21 +00:00
cmdlinepart.c [MTD] Unlocking all Intel flash that is locked on power up. 2008-02-03 18:25:16 +11:00
ftl.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
inftlcore.c [MTD] replace kmalloc+memset with kzalloc 2006-11-28 23:47:21 +00:00
inftlmount.c [MTD] drivers/mtd/inftlmount.c: kmalloc + memset conversion to kcalloc 2007-08-01 11:02:40 +01:00
Kconfig [MTD] Factor out OF partition support from the NOR driver. 2008-02-03 18:06:48 +11:00
Makefile [MTD] Factor out OF partition support from the NOR driver. 2008-02-03 18:06:48 +11:00
mtd_blkdevs.c [MTD] Always initialise mutex in new mtd_blktrans_dev. 2007-12-03 12:46:12 +00:00
mtdblock_ro.c [MTD] replace kmalloc+memset with kzalloc 2006-11-28 23:47:21 +00:00
mtdblock.c [MTD] replace kmalloc+memset with kzalloc 2006-11-28 23:47:21 +00:00
mtdchar.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 2008-02-03 18:30:32 +11:00
mtdconcat.c [MTD] fix mtdconcat for subpage-write NAND 2007-10-14 13:38:02 +01:00
mtdcore.c [MTD] Unlocking all Intel flash that is locked on power up. 2008-02-03 18:25:16 +11:00
mtdcore.h [MTD] mtdcore.c: share syms with mtd_blkdev.c 2007-06-28 20:24:50 +01:00
mtdoops.c [MTD] Fix mtdoops.c compilation 2008-02-07 10:50:57 +00:00
mtdpart.c [MTD] Add mtd panic_write function pointer 2008-02-07 10:30:48 +00:00
mtdsuper.c Introduce path_put() 2008-02-14 21:13:33 -08:00
nftlcore.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
nftlmount.c Spelling fixes: lenght->length 2008-02-03 15:42:53 +02:00
ofpart.c [MTD] Factor out OF partition support from the NOR driver. 2008-02-03 18:06:48 +11:00
redboot.c [MTD] Skip bad blocks when checking for RedBoot partition table 2007-10-28 21:57:02 -04:00
rfd_ftl.c [MTD] Fix potential leak in rfd_ftl_add_mtd 2007-08-02 21:44:10 +01:00
ssfdc.c [MTD] Fix ssfdc blksize typo 2006-12-11 09:43:38 +00:00