From: Felix Fietkau Subject: kernel: disable cfi cmdset 0002 erase suspend on some platforms, erase suspend leads to data corruption and lockups when write ops collide with erase ops. this has been observed on the buffalo wzr-hp-g300nh. rather than play whack-a-mole with a hard to reproduce issue on a variety of devices, simply disable erase suspend, as it will usually not produce any useful gain on the small filesystems used on embedded hardware. Signed-off-by: Felix Fietkau --- drivers/mtd/chips/cfi_cmdset_0002.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c index 9dca881bb378..ea4db1917334 100644 --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c @@ -807,7 +807,7 @@ static int get_chip(struct map_info *map, struct flchip *chip, unsigned long adr return 0; case FL_ERASING: - if (!cfip || !(cfip->EraseSuspend & (0x1|0x2)) || + if (1 /* no suspend */ || !cfip || !(cfip->EraseSuspend & (0x1|0x2)) || !(mode == FL_READY || mode == FL_POINT || (mode == FL_WRITING && (cfip->EraseSuspend & 0x2)))) goto sleep; -- 2.11.0