[Patch 1/1] don't suspend erase for erase in cfi_cmdset_0002

Peter Wippich pewi at gw-instruments.de
Mon Aug 3 06:50:44 EDT 2009


Hi, 

came around this problem while stress testing jffs2. From time to time the 
block erase failed and the file system overflows. I don't know if there 
are any Nor chips out there which allow a new erase to start when in erase 
suspend. However, the chips on my board dont't. And even when it doesn't 
make much sense to suspend an erase operation for another erase. 

Patch below fixes the problem for me. 

Have fun and take care, 

Peter 

Signed-off-by: Peter Wippich <pewi at gw-instruments.de>
---
diff -Naur a/drivers/mtd/chips/cfi_cmdset_0002.c 
b/drivers/mtd/chips/cfi_cmdset_0002.c
--- a/drivers/mtd/chips/cfi_cmdset_0002.c	2007-07-10 20:56:30.000000000 +0200
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c	2009-08-02 19:55:34.000000000 +0200
@@ -521,6 +521,10 @@
 	case FL_ERASING:
 		if (mode == FL_WRITING) /* FIXME: Erase-suspend-program appears broken. */
 			goto sleep;
+		if (mode == FL_ERASING) {
+			printk(KERN_INFO "attempt erase suspend with mode FL_ERASING\n") ;
+			goto sleep;
+		}
 
 		if (!(   mode == FL_READY
 		      || mode == FL_POINT







More information about the linux-mtd mailing list