### Describe the bug
Recently discovered that kernel 6.6.x with some winbond …w25q128 (chip id 0xef4018) cause boot loops. Described here:
https://lore.kernel.org/all/CALxbwRo_-9CaJmt7r7ELgu+vOcgk=xZcGHobnKf=oT2=u4d4aA@mail.gmail.com/
Bug introduced in linux kernel commit https://github.com/torvalds/linux/commit/83e824a4a595132f9bd7ac4f5afff857bfc5991e, effects all v6.6.x kernels. Some SPI-NOR, including parts marked 25Q128BVFG, generate dmesg:
```
[ 0.738493] spi-nor spi0.0: BFPT parsing failed. Please consider using SPI_NOR_SKIP_SFDP when declaring the flash
[ 0.748779] spi-nor: probe of spi0.0 failed with error -22
[ 0.755114] spi-nor spi0.1: w25q128 (16384 Kbytes)
```
The failure to successfully talk to the chip results in a boot loop. This was observed on Buffalo WZR600DHP, but the report above suggests other devices are similarly effected.
### OpenWrt version
r27865-caf29ee97b45
### OpenWrt release
SNAPSHOT
### OpenWrt target/subtarget
ath79/generic
### Device
Buffalo WZR-600DHP
### Image kind
Self-built image
### Steps to reproduce
Flash any build with a v6.6.x kernel on affected hardware.
### Actual behaviour
```
BUFFALO U-BOOT Ver 1.00
== CPU:680MHz, DDR:340MHz, AHB:170MHz ==
AP96 (ar7100) U-boot 0.0.1
DRAM: 128 MB
Top of RAM usable for U-Boot at: 84000000
Reserving 266k for U-Boot at: 83fbc000
Reserving 192k for malloc() at: 83f8c000
Reserving 44 Bytes for Board Info at: 83f8bfd4
Reserving 36 Bytes for Global Data at: 83f8bfb0
Reserving 128k for boot params() at: 83f6bfb0
Stack Pointer at: 83f6bf98
Now running in RAM - U-Boot at: 83fbc000
flash bank #0 found 16 MB flash [W25Q128BV, blk:0x10000, sectors:256]
flash bank #1 found 16 MB flash [W25Q128BV, blk:0x10000, sectors:256]
Flash: 32 MB
In: serial
Out: serial
Err: serial
Memory Test
uboot use 83F6BFB0 - 84000000
Memory Test start(80000000) end(83F00000) size(03F00000)
Pattern 00000000 Writing... Reading...
Memory Test start(84000000) end(88000000) size(04000000)
Pattern 00000000 Writing... Reading...
Memory Test OK
### buf_ver=[1.00] U-Boot Ver.=[1.00]
### build_date(env)=[May 21 2012 - 08:29:08] build_date(bin)=[May 21 2012 - 08:29:08]
ag7100_enet_initialize...
Reading MAC Address from ENV(0x83f8c2fd)
Port 0, Neg Success
Port 1, Neg Success
Port 2, Neg Success
Port 3, Neg Success
eth0: Phy Specific Status=0010
eth0: Phy Specific Status=0010
eth0: Phy Specific Status=0010
eth0: Phy Specific Status=0010;leth0: 02:aa:bb:cc:dd:20
eth0 up
Reading MAC Address from ENV(0x83f8c2fd)
Port 4, Neg Success
eth1: Phy Specific Status=0010
eth1: 02:aa:bb:cc:dd:21
eth1 up
eth0 02:AA:BB:CC:DD:20
, eth1 02:AA:BB:CC:DD:21
eth0 link down
tftp server(receive) go, waiting:4[sec]
eth0 link down
Load address: 0x84000000
TftpServer Timeout;
no file was loaded.
change bootargs
console=ttyS0,115200 root=31:03 rootfstype=jffs2 init=/sbin/init mtdparts=ar7100-nor0:256k(u-boot),64k(u-boot-env),1152k@384k(uImage),6592k@1536k(rootfs),64k@320k(ART),64k@8128k(properties),8192k@8192k(flash1),16384k@16384k(flash2) mem=128M
## Booting image at bf060000 ...
Image Name: MIPS OpenWrt Linux-6.6.57
Created: 2024-10-21 18:54:55 UTC
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 2586482 Bytes = 2.5 MB
Load Address: 80060000
Entry Point: 80060000
Verifying Checksum ... crc32_fw: bf060040 - bf2d77b1 (len:00277772) calc...
crc32_fw: range1 bf060040 - bf2d77b1
OK
Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80060000) ...
## Giving linux memsize in bytes, 134217728
Starting kernel ...
[ 0.000000] Linux version 6.6.57 (openwrt@hawg) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 13.3.0 r26638-e321e70ddc) 13.3.0, GNU ld (GNU Binutils) 2.42) #0 Mon Oct 21 18:54:55 2024
[ 0.000000] printk: bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[ 0.000000] MIPS: machine is Buffalo WZR-600DHP
[ 0.000000] SoC: Atheros AR7161 rev 2
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[ 0.000000] Writing ErrCtl register=00000000
[ 0.000000] Readback ErrCtl register=00000000
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 32480
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 120000K/131072K available (6243K kernel code, 600K rwdata, 1452K rodata, 1232K init, 204K bss, 11072K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 51
[ 0.000000] CPU clock: 680.000 MHz
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5621354254 ns
[ 0.000002] sched_clock: 32 bits at 340MHz, resolution 2ns, wraps every 6316128254ns
[ 0.007845] Calibrating delay loop... 452.19 BogoMIPS (lpj=2260992)
[ 0.074099] pid_max: default: 32768 minimum: 301
[ 0.090251] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.097564] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.114971] RCU Tasks Trace: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1.
[ 0.126610] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.136494] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.146293] pinctrl core: initialized pinctrl subsystem
[ 0.153859] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.477007] PCI host bridge to bus 0000:00
[ 0.481125] pci_bus 0000:00: root bus resource [mem 0x10000000-0x16ffffff]
[ 0.488035] pci_bus 0000:00: root bus resource [io 0x0000]
[ 0.493603] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[ 0.502042] pci 0000:00:11.0: [168c:ff1d] type 00 class 0x020000
[ 0.508058] pci 0000:00:11.0: reg 0x10: [mem 0x00000000-0x0000ffff]
[ 0.514665] pci 0000:00:12.0: [168c:ff1d] type 00 class 0x020000
[ 0.520692] pci 0000:00:12.0: reg 0x10: [mem 0x00000000-0x0000ffff]
[ 0.527643] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[ 0.534283] pci 0000:00:11.0: BAR 0: assigned [mem 0x10000000-0x1000ffff]
[ 0.541099] pci 0000:00:12.0: BAR 0: assigned [mem 0x10010000-0x1001ffff]
[ 0.548325] clocksource: Switched to clocksource MIPS
[ 0.565649] NET: Registered PF_INET protocol family
[ 0.570842] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.578955] tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.587421] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.595207] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.602877] TCP bind hash table entries: 1024 (order: 1, 8192 bytes, linear)
[ 0.609948] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.616463] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.623049] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.630800] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.636520] PCI: CLS 0 bytes, default 32
[ 0.645096] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[ 0.653277] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.659149] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.674382] gpio-export gpio-export: 1 gpio(s) exported
[ 0.680582] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[ 0.687907] printk: console [ttyS0] disabled
[ 0.692783] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 12, base_baud = 10625000) is a 16550A
[ 0.701658] printk: console [ttyS0] enabled
[ 0.701658] printk: console [ttyS0] enabled
[ 0.710014] printk: bootconsole [early0] disabled
[ 0.710014] printk: bootconsole [early0] disabled
[ 0.738418] spi-nor spi0.0: BFPT parsing failed. Please consider using SPI_NOR_SKIP_SFDP when declaring the flash
[ 0.748705] spi-nor: probe of spi0.0 failed with error -22
[ 0.755030] spi-nor spi0.1: w25q128 (16384 Kbytes)
[ 0.771547] i2c_dev: i2c /dev entries driver
[ 0.778731] NET: Registered PF_INET6 protocol family
[ 0.836378] Segment Routing with IPv6
[ 0.840199] In-situ OAM (IOAM) with IPv6
[ 0.844271] NET: Registered PF_PACKET protocol family
[ 0.849385] 8021q: 802.1Q VLAN Support v1.8
[ 0.888978] clk: Disabling unused clocks
[ 0.893921] MTD: Couldn't look up '': -22
[ 0.898080] /dev/root: Can't open blockdev
[ 0.902248] VFS: Cannot open root device "" or unknown-block(0,0): error -6
[ 0.909217] Please append a correct "root=" boot option; here are the available partitions:
[ 0.917557] 1f00 16384 mtdblock0
[ 0.917569] (driver?)
[ 0.924097] List of all bdev filesystems:
[ 0.928093] squashfs
[ 0.928098]
[ 0.931853] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 0.940098] Rebooting in 1 seconds..
```
### Expected behaviour
```
BUFFALO U-BOOT Ver 1.00
== CPU:680MHz, DDR:340MHz, AHB:170MHz ==
AP96 (ar7100) U-boot 0.0.1
DRAM: 128 MB
Top of RAM usable for U-Boot at: 84000000
Reserving 266k for U-Boot at: 83fbc000
Reserving 192k for malloc() at: 83f8c000
Reserving 44 Bytes for Board Info at: 83f8bfd4
Reserving 36 Bytes for Global Data at: 83f8bfb0
Reserving 128k for boot params() at: 83f6bfb0
Stack Pointer at: 83f6bf98
Now running in RAM - U-Boot at: 83fbc000
flash bank #0 found 16 MB flash [W25Q128BV, blk:0x10000, sectors:256]
flash bank #1 found 16 MB flash [W25Q128BV, blk:0x10000, sectors:256]
Flash: 32 MB
In: serial
Out: serial
Err: serial
Memory Test
uboot use 83F6BFB0 - 84000000
Memory Test start(80000000) end(83F00000) size(03F00000)
^MPattern 55555555 Writing... Reading...^MPattern AAAAAAAA Writing... Reading...^MPattern 00000000 Writing... Reading...
Memory Test start(84000000) end(88000000) size(04000000)
^MPattern 55555555 Writing... Reading...^MPattern AAAAAAAA Writing... Reading...^MPattern 00000000 Writing... Reading...
Memory Test OK
### buf_ver=[1.00] U-Boot Ver.=[1.00]
### build_date(env)=[May 21 2012 - 08:29:08] build_date(bin)=[May 21 2012 - 08:29:08]
ag7100_enet_initialize...
Reading MAC Address from ENV(0x83f8c2fd)
Port 0, Neg Success
Port 1, Neg Success
Port 2, Neg Success
Port 3, Neg Success
eth0: Phy Specific Status=0010
eth0: Phy Specific Status=0010
eth0: Phy Specific Status=0010
eth0: Phy Specific Status=0010;<88>^Beth0: 02:aa:bb:cc:dd:20
eth0 up
Reading MAC Address from ENV(0x83f8c2fd)
Port 4, Neg Success
eth1: Phy Specific Status=0010
eth1: 02:aa:bb:cc:dd:21
eth1 up
eth0 02:AA:BB:CC:DD:20
, eth1 02:AA:BB:CC:DD:21
eth0 link down
tftp server(receive) go, waiting:4[sec]
eth0 link down
Load address: 0x84000000
TftpServer Timeout;
no file was loaded.
change bootargs
console=ttyS0,115200 root=31:03 rootfstype=jffs2 init=/sbin/init mtdparts=ar7100-nor0:256k(u-boot),64k(u-boot-env),1152k@384k(uImage),6592k@1536k(rootfs),64k@320k(ART),64k@8128k(properties),8192k@8192k(flash1),16384k@16384k(flash2) mem=128M
## Booting image at bf060000 ...
Image Name: MIPS OpenWrt Linux-6.6.57
Created: 2024-10-26 13:00:36 UTC
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 2586435 Bytes = 2.5 MB
Load Address: 80060000
Entry Point: 80060000
Verifying Checksum ... crc32_fw: bf060040 - bf2d7782 (len:00277743) calc...
crc32_fw: range1 bf060040 - bf2d7782
OK
Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80060000) ...
## Giving linux memsize in bytes, 134217728
Starting kernel ...
[ 0.000000] Linux version 6.6.57 (openwrt@hawg) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 13.3.0 r26638-e321e70ddc) 13.3.0, GNU ld (GNU Binutils) 2.42) #0 Sat Oct 26 13:00:36 2024
[ 0.000000] printk: bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[ 0.000000] MIPS: machine is Buffalo WZR-600DHP
[ 0.000000] SoC: Atheros AR7161 rev 2
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[ 0.000000] Writing ErrCtl register=00000000
[ 0.000000] Readback ErrCtl register=00000000
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 32480
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 120000K/131072K available (6243K kernel code, 600K rwdata, 1452K rodata, 1232K init, 204K bss, 11072K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 51
[ 0.000000] CPU clock: 680.000 MHz
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5621354254 ns
[ 0.000002] sched_clock: 32 bits at 340MHz, resolution 2ns, wraps every 6316128254ns
[ 0.007844] Calibrating delay loop... 452.19 BogoMIPS (lpj=2260992)
[ 0.074098] pid_max: default: 32768 minimum: 301
[ 0.090249] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.097564] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.114960] RCU Tasks Trace: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1.
[ 0.126595] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.136477] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.146279] pinctrl core: initialized pinctrl subsystem
[ 0.153840] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.476974] PCI host bridge to bus 0000:00
[ 0.481090] pci_bus 0000:00: root bus resource [mem 0x10000000-0x16ffffff]
[ 0.488001] pci_bus 0000:00: root bus resource [io 0x0000]
[ 0.493568] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[ 0.502006] pci 0000:00:11.0: [168c:ff1d] type 00 class 0x020000
[ 0.508023] pci 0000:00:11.0: reg 0x10: [mem 0x00000000-0x0000ffff]
[ 0.514632] pci 0000:00:12.0: [168c:ff1d] type 00 class 0x020000
[ 0.520657] pci 0000:00:12.0: reg 0x10: [mem 0x00000000-0x0000ffff]
[ 0.527609] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[ 0.534248] pci 0000:00:11.0: BAR 0: assigned [mem 0x10000000-0x1000ffff]
[ 0.541065] pci 0000:00:12.0: BAR 0: assigned [mem 0x10010000-0x1001ffff]
[ 0.548293] clocksource: Switched to clocksource MIPS
[ 0.565622] NET: Registered PF_INET protocol family
[ 0.570816] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.578931] tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.587394] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.595180] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.602851] TCP bind hash table entries: 1024 (order: 1, 8192 bytes, linear)
[ 0.609923] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.616438] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.623023] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.630775] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.636494] PCI: CLS 0 bytes, default 32
[ 0.645074] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[ 0.653259] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.659133] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.674369] gpio-export gpio-export: 1 gpio(s) exported
[ 0.680572] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[ 0.687890] printk: console [ttyS0] disabled
[ 0.692767] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 12, base_baud = 10625000) is a 16550A
[ 0.701639] printk: console [ttyS0] enabled
[ 0.701639] printk: console [ttyS0] enabled
[ 0.709996] printk: bootconsole [early0] disabled
[ 0.709996] printk: bootconsole [early0] disabled
[ 0.738529] spi-nor spi0.0: w25q128 (16384 Kbytes)
[ 0.747746] spi-nor spi0.1: w25q128 (16384 Kbytes)
[ 0.764515] i2c_dev: i2c /dev entries driver
[ 0.771670] NET: Registered PF_INET6 protocol family
[ 0.826622] Segment Routing with IPv6
[ 0.830442] In-situ OAM (IOAM) with IPv6
[ 0.834534] NET: Registered PF_PACKET protocol family
[ 0.839649] 8021q: 802.1Q VLAN Support v1.8
[ 0.860542] Concatenating MTD devices:
[ 0.864306] (0): "spi0.0"
[ 0.866917] (1): "spi0.1"
[ 0.869580] into device "flash"
[ 0.872758] 5 fixed-partitions partitions found on MTD device flash
[ 0.879287] Creating 5 MTD partitions on "flash":
[ 0.884000] 0x000000000000-0x000000040000 : "u-boot"
[ 0.907394] 0x000000040000-0x000000050000 : "u-boot-env"
[ 0.914758] 0x000000050000-0x000000060000 : "art"
[ 0.921868] 0x000000060000-0x000001ff0000 : "firmware"
[ 0.928022] 2 uimage-fw partitions found on MTD device firmware
[ 0.934012] Creating 2 MTD partitions on "firmware":
[ 0.938981] 0x000000000000-0x000000280000 : "kernel"
[ 0.947344] 0x000000280000-0x000001f90000 : "rootfs"
[ 0.954294] mtd: setting mtd7 (rootfs) as root device
[ 0.959457] 1 squashfs-split partitions found on MTD device rootfs
[ 0.965635] 0x0000010a0000-0x000001f90000 : "rootfs_data"
[ 0.973073] 0x000001ff0000-0x000002000000 : "user_property"
[ 1.323927] switch0: Atheros AR8316 rev. 1 switch registered on mdio.0
[ 1.333526] ag71xx-legacy 19000000.eth: connected to PHY at fixed-0:00 [uid=00000000, driver=Generic PHY]
[ 1.344170] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: rgmii
[ 1.689483] ar8316: Using port 4 as PHY
[ 2.810569] ag71xx-legacy 1a000000.eth: connected to PHY at mdio.0:04 [uid=004dd041, driver=Atheros AR8216/AR8236/AR8316]
[ 2.822554] eth1: Atheros AG71xx at 0xba000000, irq 5, mode: rgmii
[ 2.831543] clk: Disabling unused clocks
[ 2.852587] VFS: Mounted root (squashfs filesystem) readonly on device 31:7.
[ 2.863266] Freeing unused kernel image (initmem) memory: 1232K
[ 2.869213] This architecture does not have kernel memory protection.
[ 2.875646] Run /sbin/init as init process
[ 3.584049] init: Console is alive
[ 3.587861] init: - watchdog -
[ 4.737370] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[ 4.789233] usbcore: registered new interface driver usbfs
[ 4.794826] usbcore: registered new interface driver hub
[ 4.800345] usbcore: registered new device driver usb
[ 4.816185] gpio_button_hotplug: loading out-of-tree module taints kernel.
[ 5.436143] ehci-platform 1b000000.usb: EHCI Host Controller
[ 5.441860] ehci-platform 1b000000.usb: new USB bus registered, assigned bus number 1
[ 5.449833] ehci-platform 1b000000.usb: irq 3, io mem 0x1b000000
[ 5.478311] ehci-platform 1b000000.usb: USB 2.0 started, EHCI 1.00
[ 5.485926] hub 1-0:1.0: USB hub found
[ 5.490389] hub 1-0:1.0: 2 ports detected
[ 5.504873] ohci-platform 1c000000.usb: Generic Platform OHCI controller
[ 5.511677] ohci-platform 1c000000.usb: new USB bus registered, assigned bus number 2
[ 5.519743] ohci-platform 1c000000.usb: irq 19, io mem 0x1c000000
[ 5.593647] hub 2-0:1.0: USB hub found
[ 5.598082] hub 2-0:1.0: 2 ports detected
[ 5.605342] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[ 5.623222] init: - preinit -
[ 9.548327] random: crng init done
Cannot parse config file '/etc/fw_env.config': No such file or directory
Failed to find NVMEM device
[ 11.205153] eth0: link up (1000Mbps/Full duplex)
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[ 15.776310] jffs2: notice: (520) jffs2_build_xattr_subsystem: complete building xattr subsystem, 11 of xdatum (10 unchecked, 1 orphan) and 14 of xref (1 dead, 0 orphan) found.
[ 15.796055] mount_root: switching to jffs2 overlay
[ 15.807187] overlayfs: upper fs does not support tmpfile.
[ 15.825843] urandom-seed: Seeding with /etc/urandom.seed
[ 15.892818] platform ath9k-leds: deferred probe pending
[ 15.927410] eth0: link down
[ 15.955374] procd: - early -
[ 15.958732] procd: - watchdog -
[ 16.627622] procd: - watchdog -
[ 16.660764] procd: - ubus -
[ 16.872670] procd: - init -
Please press Enter to activate this console.
```
### Additional info
https://lore.kernel.org/linux-mtd/D1W69FY9MUZL.33B8G1877MPBL@walle.cc/T/
In the email thread, the reporter, e9hack, provides a patch that fixes it for me. There is an upstream kernel commit (https://github.com/torvalds/linux/commit/d35df77707bf5ae1221b5ba1c8a88cf4fcdd4901) that fixes it, but it has not been back-ported to v6.6.x. The upstream patch can't be applied directly because the format of the spi-nor parameters changed in https://github.com/torvalds/linux/commit/348d772d04fa36d453587c8a9a2720c77eb242c9.
This is kind of URGENT to correct as devices, particularly when flashed remotely, will be bricked, requiring invasive recovery steps. (says a person who remotely bricked a device).
### Diffconfig
```text
CONFIG_TARGET_ath79=y
CONFIG_TARGET_ath79_generic=y
CONFIG_TARGET_ath79_generic_DEVICE_buffalo_wzr-600dhp=y
CONFIG_DEVEL=y
CONFIG_BUSYBOX_CUSTOM=y
CONFIG_BUILD_LOG=y
```
### Terms
- [X] I am reporting an issue for OpenWrt, not an unsupported fork.