Kernel: do not manipulate watchdog list if empty
authorFrançois Tigeot <ftigeot@wolfpond.org>
Thu, 3 May 2012 10:43:52 +0000 (12:43 +0200)
committerFrançois Tigeot <ftigeot@wolfpond.org>
Thu, 3 May 2012 10:43:52 +0000 (12:43 +0200)
Suggested-by: Alex Hornung
sys/kern/kern_wdog.c

index 7010eb0..f09f4d0 100644 (file)
@@ -95,6 +95,8 @@ wdog_reset_all(void *unused)
        int period, min_period = INT_MAX;
 
        spin_lock(&wdogmtx);
+       if (LIST_EMPTY(&wdoglist))
+               goto done;
        LIST_FOREACH(wd, &wdoglist, link) {
                period = wdog_reset(wd);
                if (period < min_period)
@@ -105,6 +107,7 @@ wdog_reset_all(void *unused)
 
        wdog_auto_period = min_period;
 
+done:
        spin_unlock(&wdogmtx);
 }