[openwrt/openwrt] ath79: ar934x-nand: fix broken nand on kernel 5.10
LEDE Commits
lede-commits at lists.infradead.org
Tue Apr 6 16:00:33 BST 2021
xback pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/f4f4259ca17e61a2bb14b9453e050451478f546a
commit f4f4259ca17e61a2bb14b9453e050451478f546a
Author: Koen Vandeputte <koen.vandeputte at citymesh.com>
AuthorDate: Tue Apr 6 12:16:10 2021 +0200
ath79: ar934x-nand: fix broken nand on kernel 5.10
Booting current 5.10.x testing kernel shows this:
[ 0.335781] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xf1
[ 0.342280] nand: Samsung NAND 128MiB 3,3V 8-bit
[ 0.346982] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048,
OOB size: 64
[ 0.354703] ar934x-nand 1b800200.nand: unknown ECC mode 2
[ 0.360193] ar934x-nand 1b800200.nand: nand_scan failed, err:-22
[ 0.366341] ar934x-nand: probe of 1b800200.nand failed with error -22
...
[ 1.089264] /dev/root: Can't open blockdev
[ 1.093482] VFS: Cannot open root device "(null)" or
unknown-block(0,0): error -6
[ 1.101077] Please append a correct "root=" boot option; here are the
available partitions:
[ 1.109555] 1f00 64 mtdblock0
[ 1.109559] (driver?)
[ 1.116199] 1f01 48 mtdblock1
[ 1.116202] (driver?)
[ 1.122841] 1f02 4 mtdblock2
[ 1.122844] (driver?)
[ 1.129493] 1f03 4 mtdblock3
[ 1.129497] (driver?)
[ 1.136138] 1f04 4 mtdblock4
[ 1.136142] (driver?)
[ 1.142787] Kernel panic - not syncing: VFS: Unable to mount root fs
on unknown-block(0,0)
[ 1.151168] Rebooting in 1 seconds..
The issue is caused by a wrong check for ECC engine type
on newer kernels.
Fix this.
Bootlog after:
[ 0.335689] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xf1
[ 0.342192] nand: Samsung NAND 128MiB 3,3V 8-bit
[ 0.346884] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048,
OOB size: 64
[ 0.354611] Scanning device for bad blocks
[ 0.364924] random: fast init done
[ 0.496641] 3 fixed-partitions partitions found on MTD device
ar934x-nand
[ 0.503545] Creating 3 MTD partitions on "ar934x-nand":
[ 0.508865] 0x000000000000-0x000000040000 : "booter"
[ 0.515133] 0x000000040000-0x000000400000 : "kernel"
[ 0.523265] 0x000000400000-0x000008000000 : "ubi"
Fixes: fb64e2c30f ("ath79: ar934x-nand: add kernel 5.10 compatibility")
Signed-off-by: Koen Vandeputte <koen.vandeputte at citymesh.com>
---
target/linux/ath79/files/drivers/mtd/nand/raw/ar934x_nand.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/linux/ath79/files/drivers/mtd/nand/raw/ar934x_nand.c b/target/linux/ath79/files/drivers/mtd/nand/raw/ar934x_nand.c
index 207bcd59ac..ddc6d6d882 100644
--- a/target/linux/ath79/files/drivers/mtd/nand/raw/ar934x_nand.c
+++ b/target/linux/ath79/files/drivers/mtd/nand/raw/ar934x_nand.c
@@ -1341,7 +1341,7 @@ static int ar934x_nfc_attach_chip(struct nand_chip *nand)
if (ret)
return ret;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,0)
- } else if (nand->ecc.engine_type == NAND_ECC_ENGINE_TYPE_SOFT) {
+ } else if (nand->ecc.engine_type != NAND_ECC_ENGINE_TYPE_SOFT) {
dev_err(dev, "unknown ECC mode %d\n", nand->ecc.engine_type);
#else
} else if (nand->ecc.mode != NAND_ECC_SOFT) {
More information about the lede-commits
mailing list