Skip to content
Snippets Groups Projects
Commit 4bbe424c authored by Nico's avatar Nico
Browse files

add patch for reset on wdr3600

Retry the reset until it finally works.

Without patch failing reboots after 5, 20 and 250 tries.

With patch >1500 successfull reboots and counting.

Script for reboot loop:
https://gitlab.freifunk-stuttgart.de/-/snippets/8
parent 0fc9f0e3
No related branches found
No related tags found
No related merge requests found
From: Nico <github@nicoboehr.de>
Date: Sat, 14 Dec 2024 22:41:57 +0000
Subject: add patch for reset retry on wdr3600
Signed-off-by: Nico <github@nicoboehr.de>
diff --git a/target/linux/ath79/patches-5.15/940-ath79-reset-retry-wdr3400.patch b/target/linux/ath79/patches-5.15/940-ath79-reset-retry-wdr3400.patch
new file mode 100644
index 0000000000000000000000000000000000000000..a95d47f6495cc4ac67951e88bd8811ccffff5898
--- /dev/null
+++ b/target/linux/ath79/patches-5.15/940-ath79-reset-retry-wdr3400.patch
@@ -0,0 +1,16 @@
+--- a/drivers/reset/reset-ath79.c
++++ b/drivers/reset/reset-ath79.c
+@@ -79,8 +79,12 @@ static int ath79_reset_restart_handler(s
+ {
+ struct ath79_reset *ath79_reset =
+ container_of(nb, struct ath79_reset, restart_nb);
++ unsigned int i = 0;
+
+- ath79_reset_assert(&ath79_reset->rcdev, FULL_CHIP_RESET);
++ while (1) {
++ ath79_reset_assert(&ath79_reset->rcdev, FULL_CHIP_RESET);
++ printk("reset: still alive after %u tries\n", i);
++ }
+
+ return NOTIFY_DONE;
+ }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment