Not sure if that matters.
One more thing that is probably relevant. I noticed "3-byte and 4-byte address modes" was mentioned on the PR and on the board schema I noticed something similar (after translation from Chinese):
"When the module starts, TXD1 low level will enter 4-byte mode, TXD1 high level will enter 3-byte mode". Not sure it will help though.
@mpratt14 I see you was involved in some earlier discussions on the similar matter, will you be able to help in my case?
I found this patch by @981213 in OpenWrt 21.02 but not in the later versions, does this mean it is not needed anymore?
and the WARN_ONCE() is just written into the driver when broken-flash-reset is set
basically it's a side-effect that the user needs to know about, but theres nothing to do about it. You have confirmed the reboot problem and that the broken-flash-reset property fixes it, other than that you would have to change the hardware to get the flash chip's reset pin to actually work.
You can try applying this patch to make the warning into a single line that looks better than a stack dump. However, I'm concerned that this new warning line would be printing a lot, the benefit of WARN_ONCE is that it will only trigger once no matter what... and for that reason I'm not sure if Openwrt members would accept a patch like this.
From 5d09af22fd53bdd05304f6f8a97c89dca763afef
From: Michael Pratt <mcpratt@pm.me>
Date: Wed, 1 Mar 2023 21:09:38 -0500
Subject: [PATCH] kernel: silence stack dump for broken flash reset
Signed-off-by: Michael Pratt <mcpratt@pm.me>
---
.../490-broken-flash-reset-light-warning.patch | 14 ++++++++++++++
1 file changed, 14 insertions(+)
create mode 100644 target/linux/generic/hack-5.15/490-broken-flash-reset-light-warning.patch
diff --git a/target/linux/generic/hack-5.15/490-broken-flash-reset-light-warning.patch b/target/linux/generic/hack-5.15/490-broken-flash-reset-light-warning.patch
new file mode 100644
index 0000000000000..13a0e21e45a0b
--- /dev/null
+++ b/target/linux/generic/hack-5.15/490-broken-flash-reset-light-warning.patch
@@ -0,0 +1,14 @@
+--- a/drivers/mtd/spi-nor/core.c
++++ b/drivers/mtd/spi-nor/core.c
+@@ -2849,8 +2849,10 @@ static int spi_nor_init(struct spi_nor *
+ * reboots (e.g., crashes). Warn the user (or hopefully, system
+ * designer) that this is bad.
+ */
+- WARN_ONCE(nor->flags & SNOR_F_BROKEN_RESET,
++ if (nor->flags & SNOR_F_BROKEN_RESET)
++ dev_warn(nor->dev,
+ "enabling reset hack; may not recover from unexpected reboots\n");
++
+ nor->params->set_4byte_addr_mode(nor, true);
+ }
+
I re-flashed the bootloader and loaded the image with your patch carefully applied.
I see no errors or crashes, so thank you very much!
I'm going to build a newer image and retest it.