From: Trevor Woerner <twoerner@gmail.com>
To: Miquel Raynal <miquel.raynal@bootlin.com>
Cc: linux-mtd@lists.infradead.org
Subject: Re: UBI issues with lpc32xx Was: UBI issues with 5.11.11
Date: Mon, 12 Apr 2021 14:05:31 -0400 [thread overview]
Message-ID: <20210412180531.GA27730@localhost> (raw)
In-Reply-To: <20210412180233.3c7148d0@xps13>
Hi Miquel,
On Mon 2021-04-12 @ 06:02:33 PM, Miquel Raynal wrote:
> I assumed I understood this trace well enough to write a patch. Can you
> please give this change a try?
>
> If it does not fix your issue, would you mind tracing down the issue to
> the root dereference that produces this panic?
It looks, to me, that your patch solves the NULL dereference problem. But it
reveals a new one "Driver must set ecc.strength when using hardware ECC". Is
that something I should be setting in my device tree, or is that a driver
issue too?
> Also please share your entire boot log in case there is anything else
> interesting (and perhaps your NAND DT node as well).
New boot log:
Booting Linux on physical CPU 0x0
Linux version 5.10.0-rc6-yocto-standard (oe-user@oe-host) (arm-oe-linux-gnueabi-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.36.1.20210209) #1 PREEMPT Mon Apr 12 17:49:12 UTC 2021
CPU: ARM926EJ-S [41069264] revision 4 (ARMv5TEJ), cr=0005317f
CPU: VIVT data cache, VIVT instruction cache
OF: fdt: Machine model: NAUTEL nape83 board based on NXP LPC3240
Memory policy: Data cache writeback
Zone ranges:
Normal [mem 0x0000000080000000-0x0000000083ffffff]
Movable zone start for each node
Early memory node ranges
node 0: [mem 0x0000000080000000-0x0000000083ffffff]
Initmem setup node 0 [mem 0x0000000080000000-0x0000000083ffffff]
Built 1 zonelists, mobility grouping on. Total pages: 16240
Kernel command line: ubi.mtd=7,512 rootfstype=ubifs root=ubi0 rootwait rw console=ttyS0,115200n81
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes, linear)
mem auto-init: stack:off, heap alloc:off, heap free:off
Memory: 57312K/65536K available (5341K kernel code, 432K rwdata, 1108K rodata, 196K init, 206K bss, 8224K reserved, 0K cma-reserved)
rcu: Preemptible hierarchical RCU implementation.
Trampoline variant of Tasks RCU enabled.
rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
random: get_random_bytes called from start_kernel+0x2bc/0x4d4 with crng_init=0
clk_pll_recalc_rate: hclk_pll: PLL clocks are not in valid ranges: 0/0/0
clocksource: lpc3220 timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 147020034397 ns
Switching to timer-based delay loop, resolution 76ns
sched_clock: 32 bits at 13MHz, resolution 76ns, wraps every 165191050201ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=130000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x80008400 - 0x8000843c
rcu: Hierarchical SRCU implementation.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 1 part 10 variant 9 rev 1
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 256 (order: -1, 3072 bytes, linear)
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor menu
LPC32XX unique ID: 5565d99a09d8905d38df4d6190bb7480
pl08xdmac pl08xdmac: initialized 8 virtual memcpy channels
pl08xdmac pl08xdmac: initialized 2 virtual slave channels
pl08xdmac pl08xdmac: DMA: PL080 rev0 at 0x31000000 irq 21
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Advanced Linux Sound Architecture Driver Initialized.
clocksource: Switched to clocksource lpc3220 timer
NET: Registered protocol family 2
tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
TCP: Hash tables configured (established 1024 bind 1024)
UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
workingset: timestamp_bits=14 max_order=14 bucket_order=0
NET: Registered protocol family 38
io scheduler mq-deadline registered
io scheduler kyber registered
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
printk: console [ttyS0] disabled
40090000.serial: ttyS0 at MMIO 0x40090000 (irq = 24, base_baud = 812500) is a LPC3220
printk: console [ttyS0] enabled
40080000.serial: ttyS1 at MMIO 0x40080000 (irq = 25, base_baud = 812500) is a LPC3220
40088000.serial: ttyS2 at MMIO 0x40088000 (irq = 26, base_baud = 812500) is a LPC3220
40098000.serial: ttyS3 at MMIO 0x40098000 (irq = 27, base_baud = 812500) is a LPC3220
40014000.serial: ttyTX0 at MMIO 0x40014000 (irq = 30, base_baud = 812500) is a lpc32xx_hsuart
40018000.serial: ttyTX1 at MMIO 0x40018000 (irq = 31, base_baud = 812500) is a lpc32xx_hsuart
4001c000.serial: ttyTX2 at MMIO 0x4001c000 (irq = 32, base_baud = 812500) is a lpc32xx_hsuart
brd: module loaded
loop: module loaded
nand: device found, Manufacturer ID: 0x01, Chip ID: 0xdc
nand: AMD/Spansion S34ML04G1
nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
------------[ cut here ]------------
WARNING: CPU: 0 PID: 1 at drivers/mtd/nand/raw/nand_base.c:5781 nand_scan_with_ids+0xbf8/0x136c
Driver must set ecc.strength when using hardware ECC
CPU: 0 PID: 1 Comm: swapper Not tainted 5.10.0-rc6-yocto-standard #1
Hardware name: LPC32XX SoC (Flattened Device Tree)
[<c0011978>] (unwind_backtrace) from [<c00108a8>] (show_stack+0x10/0x14)
[<c00108a8>] (show_stack) from [<c0531950>] (__warn+0xa8/0xd0)
[<c0531950>] (__warn) from [<c05319f0>] (warn_slowpath_fmt+0x78/0xac)
[<c05319f0>] (warn_slowpath_fmt) from [<c02d9fbc>] (nand_scan_with_ids+0xbf8/0x136c)
[<c02d9fbc>] (nand_scan_with_ids) from [<c02e0bd4>] (lpc32xx_nand_probe+0x530/0x600)
[<c02e0bd4>] (lpc32xx_nand_probe) from [<c02a0b98>] (platform_drv_probe+0x38/0x6c)
[<c02a0b98>] (platform_drv_probe) from [<c029f614>] (really_probe+0x208/0x35c)
[<c029f614>] (really_probe) from [<c029fbb4>] (device_driver_attach+0x44/0x5c)
[<c029fbb4>] (device_driver_attach) from [<c029fc78>] (__driver_attach+0xac/0xb4)
[<c029fc78>] (__driver_attach) from [<c029dde0>] (bus_for_each_dev+0x64/0xa4)
[<c029dde0>] (bus_for_each_dev) from [<c029e52c>] (bus_add_driver+0x144/0x1a4)
[<c029e52c>] (bus_add_driver) from [<c02a02a4>] (driver_register+0xac/0xf0)
[<c02a02a4>] (driver_register) from [<c0683efc>] (do_one_initcall+0x74/0x194)
[<c0683efc>] (do_one_initcall) from [<c06841d8>] (kernel_init_freeable+0x168/0x1b4)
[<c06841d8>] (kernel_init_freeable) from [<c053b864>] (kernel_init+0x8/0xf8)
[<c053b864>] (kernel_init) from [<c0008520>] (ret_from_fork+0x14/0x34)
Exception stack(0xc0827fb0 to 0xc0827ff8)
7fa0: 00000000 00000000 00000000 00000000
7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fe0: 00000000 00000000 00000000 00000000 00000013 00000000
---[ end trace 81018977b459f36a ]---
lpc32xx-nand: probe of 20020000.flash failed with error -22
libphy: Fixed MDIO Bus: probed
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci-nxp: OHCI NXP driver
ISP1301 Vendor ID : 0x0483
ISP1301 Product ID : 0xa0c4
ISP1301 Version ID : 0x4747
usb-ohci 31020000.ohci: at 0x(ptrval), irq 0
random: fast init done
usb-ohci 31020000.ohci: OHCI Host Controller
usb-ohci 31020000.ohci: new USB bus registered, assigned bus number 1
usb-ohci 31020000.ohci: irq 22, io mem 0x31020000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usbcore: registered new interface driver usb-storage
udc-core: couldn't find an available UDC - added [g_ether] to list of pending drivers
rtc-lpc32xx 40024000.rtc: registered as rtc0
rtc-lpc32xx 40024000.rtc: setting system clock to 2021-04-12T17:50:29 UTC (1618249829)
i2c /dev entries driver
pnx4008-watchdog 4003c000.watchdog: heartbeat 19 sec
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
IPVS: Registered protocols ()
IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
IPVS: ipvs loaded.
ipt_CLUSTERIP: ClusterIP Version 0.8 loaded successfully
NET: Registered protocol family 10
Segment Routing with IPv6
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
NET: Registered protocol family 17
Bridge firewalling registered
UBI error: cannot open mtd 7, error -19
ALSA device list:
No soundcards found.
VFS: Cannot open root device "ubi0" or unknown-block(0,0): error -19
Please append a correct "root=" boot option; here are the available partitions:
0100 16384 ram0
(driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
CPU: 0 PID: 1 Comm: swapper Tainted: G W 5.10.0-rc6-yocto-standard #1
Hardware name: LPC32XX SoC (Flattened Device Tree)
[<c0011978>] (unwind_backtrace) from [<c00108a8>] (show_stack+0x10/0x14)
[<c00108a8>] (show_stack) from [<c05316a8>] (panic+0x100/0x300)
[<c05316a8>] (panic) from [<c0684688>] (mount_block_root+0x1dc/0x26c)
[<c0684688>] (mount_block_root) from [<c06848f4>] (prepare_namespace+0x84/0x17c)
[<c06848f4>] (prepare_namespace) from [<c053b864>] (kernel_init+0x8/0xf8)
[<c053b864>] (kernel_init) from [<c0008520>] (ret_from_fork+0x14/0x34)
Exception stack(0xc0827fb0 to 0xc0827ff8)
7fa0: 00000000 00000000 00000000 00000000
7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fe0: 00000000 00000000 00000000 00000000 00000013 00000000
---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---
The second panic, of course, will be fixed when the first one is resolved.
My NAND device tree:
#include "lpc32xx.dtsi"
/* 512MB Flash via SLC NAND controller */
&slc {
status = "okay";
nxp,wdr-clks = <14>;
nxp,wwidth = <70250000>;
nxp,whold = <281000000>;
nxp,wsetup = <100000000>;
nxp,rdr-clks = <14>;
nxp,rwidth = <93666666>;
nxp,rhold = <281000000>;
nxp,rsetup = <100000000>;
nand-on-flash-bbt;
gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
mtd0@0 { label = "bootrom"; reg = <0x00000000 0x00020000>; };
mtd1@20000 { label = "uboot"; reg = <0x00020000 0x00060000>; };
mtd2@80000 { label = "fbkernel"; reg = <0x00080000 0x003c0000>; };
mtd3@440000 { label = "fbrootfs"; reg = <0x00440000 0x004e0000>; };
mtd4@920000 { label = "c_kernel"; reg = <0x00920000 0x003c0000>; };
mtd5@ce0000 { label = "c__atags"; reg = <0x00ce0000 0x00020000>; };
mtd6@d00000 { label = "c_rootfs"; reg = <0x00d00000 0x00300000>; };
mtd7@1000000 { label = "mender"; reg = <0x01000000 0x1f000000>; };
};
};
Best regards,
Trevor
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2021-04-12 18:06 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-07 19:03 UBI issues with linux-stable 5.11.11 Trevor Woerner
2021-04-07 20:23 ` Trevor Woerner
2021-04-08 4:56 ` Alexander Dahl
2021-04-12 2:29 ` UBI issues with lpc32xx Was: UBI issues with 5.11.11 Trevor Woerner
2021-04-12 16:02 ` Miquel Raynal
2021-04-12 18:05 ` Trevor Woerner [this message]
2021-04-13 10:00 ` Miquel Raynal
2021-04-13 12:48 ` Trevor Woerner
2021-04-13 14:36 ` Miquel Raynal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210412180531.GA27730@localhost \
--to=twoerner@gmail.com \
--cc=linux-mtd@lists.infradead.org \
--cc=miquel.raynal@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.