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> SVN-Revision: 41548
This commit is contained in:
parent
f42c36ea60
commit
0a5145e851
2 changed files with 34 additions and 0 deletions
|
@ -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
|
||||
}
|
|
@ -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
|
||||
}
|
Loading…
Reference in a new issue