12345678910111213141516171819202122232425 |
- From: Felix Fietkau <nbd@nbd.name>
- 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 <nbd@nbd.name>
- ---
- drivers/mtd/chips/cfi_cmdset_0002.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
- --- 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
- 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;
|