Documentation: mtd: update the document for m25p80
[linux-2.6-microblaze.git] / kernel / watchdog.c
index 01c6f97..e90089f 100644 (file)
@@ -158,14 +158,14 @@ void touch_all_softlockup_watchdogs(void)
 #ifdef CONFIG_HARDLOCKUP_DETECTOR
 void touch_nmi_watchdog(void)
 {
-       if (watchdog_user_enabled) {
-               unsigned cpu;
-
-               for_each_present_cpu(cpu) {
-                       if (per_cpu(watchdog_nmi_touch, cpu) != true)
-                               per_cpu(watchdog_nmi_touch, cpu) = true;
-               }
-       }
+       /*
+        * Using __raw here because some code paths have
+        * preemption enabled.  If preemption is enabled
+        * then interrupts should be enabled too, in which
+        * case we shouldn't have to worry about the watchdog
+        * going off.
+        */
+       __raw_get_cpu_var(watchdog_nmi_touch) = true;
        touch_softlockup_watchdog();
 }
 EXPORT_SYMBOL(touch_nmi_watchdog);