diff options
-rw-r--r-- | drivers/watchdog/omap_wdt.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/watchdog/omap_wdt.c b/drivers/watchdog/omap_wdt.c index 7498c35266ee..1a74bc7fb458 100644 --- a/drivers/watchdog/omap_wdt.c +++ b/drivers/watchdog/omap_wdt.c | |||
@@ -135,6 +135,13 @@ static int omap_wdt_start(struct watchdog_device *wdog) | |||
135 | 135 | ||
136 | pm_runtime_get_sync(wdev->dev); | 136 | pm_runtime_get_sync(wdev->dev); |
137 | 137 | ||
138 | /* | ||
139 | * Make sure the watchdog is disabled. This is unfortunately required | ||
140 | * because writing to various registers with the watchdog running has no | ||
141 | * effect. | ||
142 | */ | ||
143 | omap_wdt_disable(wdev); | ||
144 | |||
138 | /* initialize prescaler */ | 145 | /* initialize prescaler */ |
139 | while (readl_relaxed(base + OMAP_WATCHDOG_WPS) & 0x01) | 146 | while (readl_relaxed(base + OMAP_WATCHDOG_WPS) & 0x01) |
140 | cpu_relax(); | 147 | cpu_relax(); |