mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 10:39:04 +00:00
31 lines
1.2 KiB
Diff
31 lines
1.2 KiB
Diff
|
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(-)
|
||
|
|
||
|
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
|
||
|
|