|
@@ -490,10 +490,6 @@ static struct mtd_info *cfi_amdstd_setup(struct mtd_info *mtd)
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
- /* FIXME: erase-suspend-program is broken. See
|
|
|
- http://lists.infradead.org/pipermail/linux-mtd/2003-December/009001.html */
|
|
|
- printk(KERN_NOTICE "cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.\n");
|
|
|
-
|
|
|
__module_get(THIS_MODULE);
|
|
|
return mtd;
|
|
|
|
|
@@ -589,15 +585,9 @@ static int get_chip(struct map_info *map, struct flchip *chip, unsigned long adr
|
|
|
return 0;
|
|
|
|
|
|
case FL_ERASING:
|
|
|
- if (mode == FL_WRITING) /* FIXME: Erase-suspend-program appears broken. */
|
|
|
- goto sleep;
|
|
|
-
|
|
|
- if (!( mode == FL_READY
|
|
|
- || mode == FL_POINT
|
|
|
- || !cfip
|
|
|
- || (mode == FL_WRITING && (cfip->EraseSuspend & 0x2))
|
|
|
- || (mode == FL_WRITING && (cfip->EraseSuspend & 0x1)
|
|
|
- )))
|
|
|
+ if (!cfip || !(cfip->EraseSuspend & (0x1|0x2)) ||
|
|
|
+ !(mode == FL_READY || mode == FL_POINT ||
|
|
|
+ (mode == FL_WRITING && (cfip->EraseSuspend & 0x2))))
|
|
|
goto sleep;
|
|
|
|
|
|
/* We could check to see if we're trying to access the sector
|