| 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 |
| @@ -902,7 +902,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; |