aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/patches-4.14
diff options
context:
space:
mode:
authorDavid Bauer <mail@david-bauer.net>2019-08-28 23:40:51 +0200
committerDavid Bauer <mail@david-bauer.net>2019-09-07 00:53:18 +0200
commitb8b62b8506f5465331e749799c36ef49160036f4 (patch)
treeb46b3936e603a0730417a10f0b50bde2852504b1 /target/linux/ramips/patches-4.14
parentafce041e2bbe44126a5908ec9bf1d18f5177603b (diff)
downloadupstream-b8b62b8506f5465331e749799c36ef49160036f4.tar.gz
upstream-b8b62b8506f5465331e749799c36ef49160036f4.tar.bz2
upstream-b8b62b8506f5465331e749799c36ef49160036f4.zip
ramips: disable badblock shifting for MT7621 NAND
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)
Diffstat (limited to 'target/linux/ramips/patches-4.14')
-rw-r--r--target/linux/ramips/patches-4.14/0039-mtd-add-mt7621-nand-support.patch2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/linux/ramips/patches-4.14/0039-mtd-add-mt7621-nand-support.patch b/target/linux/ramips/patches-4.14/0039-mtd-add-mt7621-nand-support.patch
index d50e689110..03b2b36db9 100644
--- a/target/linux/ramips/patches-4.14/0039-mtd-add-mt7621-nand-support.patch
+++ b/target/linux/ramips/patches-4.14/0039-mtd-add-mt7621-nand-support.patch
@@ -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++)