[amazon] Extends workaround for swapping problem.
[openwrt.git] / target / linux / amazon / patches / 160-cfi-swap.patch
1 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
2 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
3 @@ -1007,7 +1007,9 @@ static int __xipram do_write_oneword(str
4         int ret = 0;
5         map_word oldd;
6         int retry_cnt = 0;
7 -
8 +#ifdef CONFIG_AMAZON
9 +       adr ^= 2;
10 +#endif
11         adr += chip->start;
12  
13         spin_lock(chip->mutex);
14 @@ -1291,7 +1293,11 @@ static int __xipram do_write_buffer(stru
15         z = 0;
16         while(z < words * map_bankwidth(map)) {
17                 datum = map_word_load(map, buf);
18 +#ifdef CONFIG_AMAZON
19 +               map_write(map, datum, (adr + z) ^ 0x2);
20 +#else
21                 map_write(map, datum, adr + z);
22 +#endif
23  
24                 z += map_bankwidth(map);
25                 buf += map_bankwidth(map);