aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@openwrt.org>2014-07-07 20:12:40 +0000
committerHauke Mehrtens <hauke@openwrt.org>2014-07-07 20:12:40 +0000
commit0f360fe477ce9ed0331cc260e69f6bfafed0c8fe (patch)
tree0c00be20d9366f2c7b048cbddb37104721eb3b88 /target/linux/brcm47xx
parent2d4fa4c68ae49b9038ea96fa09d344e89c68fdc3 (diff)
downloadupstream-0f360fe477ce9ed0331cc260e69f6bfafed0c8fe.tar.gz
upstream-0f360fe477ce9ed0331cc260e69f6bfafed0c8fe.tar.bz2
upstream-0f360fe477ce9ed0331cc260e69f6bfafed0c8fe.zip
brcm47xx: make reboot a more reliable
A reboot is issued by setting the watchdog timer to a low value, when the value is decreased from 1 to 0 by the hardware the system will reboot. Setting this value to 1 does not work every time, it is a little bit more reliable when setting it to 3. This timer runs with some MHz or KHz so nobody will notice the increased waiting. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41548 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm47xx')
-rw-r--r--target/linux/brcm47xx/patches-3.10/190-make-reboot-more-reliable.patch17
-rw-r--r--target/linux/brcm47xx/patches-3.14/190-make-reboot-more-reliable.patch17
2 files changed, 34 insertions, 0 deletions
diff --git a/target/linux/brcm47xx/patches-3.10/190-make-reboot-more-reliable.patch b/target/linux/brcm47xx/patches-3.10/190-make-reboot-more-reliable.patch
new file mode 100644
index 0000000000..052f4f75a5
--- /dev/null
+++ b/target/linux/brcm47xx/patches-3.10/190-make-reboot-more-reliable.patch
@@ -0,0 +1,17 @@
+--- a/arch/mips/bcm47xx/setup.c
++++ b/arch/mips/bcm47xx/setup.c
+@@ -56,12 +56,12 @@ static void bcm47xx_machine_restart(char
+ switch (bcm47xx_bus_type) {
+ #ifdef CONFIG_BCM47XX_SSB
+ case BCM47XX_BUS_TYPE_SSB:
+- ssb_watchdog_timer_set(&bcm47xx_bus.ssb, 1);
++ ssb_watchdog_timer_set(&bcm47xx_bus.ssb, 3);
+ break;
+ #endif
+ #ifdef CONFIG_BCM47XX_BCMA
+ case BCM47XX_BUS_TYPE_BCMA:
+- bcma_chipco_watchdog_timer_set(&bcm47xx_bus.bcma.bus.drv_cc, 1);
++ bcma_chipco_watchdog_timer_set(&bcm47xx_bus.bcma.bus.drv_cc, 3);
+ break;
+ #endif
+ }
diff --git a/target/linux/brcm47xx/patches-3.14/190-make-reboot-more-reliable.patch b/target/linux/brcm47xx/patches-3.14/190-make-reboot-more-reliable.patch
new file mode 100644
index 0000000000..551c0fff72
--- /dev/null
+++ b/target/linux/brcm47xx/patches-3.14/190-make-reboot-more-reliable.patch
@@ -0,0 +1,17 @@
+--- a/arch/mips/bcm47xx/setup.c
++++ b/arch/mips/bcm47xx/setup.c
+@@ -59,12 +59,12 @@ static void bcm47xx_machine_restart(char
+ switch (bcm47xx_bus_type) {
+ #ifdef CONFIG_BCM47XX_SSB
+ case BCM47XX_BUS_TYPE_SSB:
+- ssb_watchdog_timer_set(&bcm47xx_bus.ssb, 1);
++ ssb_watchdog_timer_set(&bcm47xx_bus.ssb, 3);
+ break;
+ #endif
+ #ifdef CONFIG_BCM47XX_BCMA
+ case BCM47XX_BUS_TYPE_BCMA:
+- bcma_chipco_watchdog_timer_set(&bcm47xx_bus.bcma.bus.drv_cc, 1);
++ bcma_chipco_watchdog_timer_set(&bcm47xx_bus.bcma.bus.drv_cc, 3);
+ break;
+ #endif
+ }