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
