ramips: disable badblock shifting for MT7621 NAND
authorDavid Bauer <mail@david-bauer.net>
Wed, 28 Aug 2019 21:40:51 +0000 (23:40 +0200)
committerDavid Bauer <mail@david-bauer.net>
Fri, 6 Sep 2019 22:53:18 +0000 (00:53 +0200)
The MediaTek MT7621 NAND driver currently intransparently shifts NAND
pages when a block is marked as bad. Because of this, offsets for e.g.
caldata and MAC-addresses seem to be off.

This is, howeer, not a task for the mtd NAND driver, as the flash
translation layer is tasked with this.

This patch disables this badblock shifting. This fix was originally
proposed by Jo-Philipp Wich at
https://bugs.openwrt.org/index.php?do=details&task_id=1926

Fixes FS#1926 ("MTD partition offset not correctly mapped when bad
eraseblocks present")
Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 527832e54bf3bc4d699a145ae66f34230246f0a9)

target/linux/ramips/patches-4.14/0039-mtd-add-mt7621-nand-support.patch

index d50e689110eab3e8c140261600561b150b960089..03b2b36db95a9decdfddbcd845101a98319d59b8 100644 (file)
@@ -3578,7 +3578,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +      if (!err) {
 +              MSG(INIT, "[mtk_nand] probe successfully!\n");
 +              nand_disable_clock();
-+              shift_on_bbt = 1;
++              shift_on_bbt = 0;
 +              if (load_fact_bbt(mtd) == 0) {
 +                      int i;
 +                      for (i = 0; i < 0x100; i++)