OpenWrt – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | From: Felix Fietkau <nbd@nbd.name> |
2 | Subject: kernel: disable cfi cmdset 0002 erase suspend |
||
3 | |||
4 | on some platforms, erase suspend leads to data corruption and lockups when write |
||
5 | ops collide with erase ops. this has been observed on the buffalo wzr-hp-g300nh. |
||
6 | rather than play whack-a-mole with a hard to reproduce issue on a variety of devices, |
||
7 | simply disable erase suspend, as it will usually not produce any useful gain on |
||
8 | the small filesystems used on embedded hardware. |
||
9 | |||
10 | Signed-off-by: Felix Fietkau <nbd@nbd.name> |
||
11 | --- |
||
12 | drivers/mtd/chips/cfi_cmdset_0002.c | 2 +- |
||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) |
||
14 | |||
15 | --- a/drivers/mtd/chips/cfi_cmdset_0002.c |
||
16 | +++ b/drivers/mtd/chips/cfi_cmdset_0002.c |
||
17 | @@ -811,7 +811,7 @@ static int get_chip(struct map_info *map |
||
18 | return 0; |
||
19 | |||
20 | case FL_ERASING: |
||
21 | - if (!cfip || !(cfip->EraseSuspend & (0x1|0x2)) || |
||
22 | + if (1 /* no suspend */ || !cfip || !(cfip->EraseSuspend & (0x1|0x2)) || |
||
23 | !(mode == FL_READY || mode == FL_POINT || |
||
24 | (mode == FL_WRITING && (cfip->EraseSuspend & 0x2)))) |
||
25 | goto sleep; |