[Midnightbsd-cvs] src [7956] trunk/sys/dev/ipmi: dont stop IPMI watchdog timer if it is not running.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Wed Sep 14 18:46:15 EDT 2016


Revision: 7956
          http://svnweb.midnightbsd.org/src/?rev=7956
Author:   laffer1
Date:     2016-09-14 18:46:15 -0400 (Wed, 14 Sep 2016)
Log Message:
-----------
dont stop IPMI watchdog timer if it is not running.

Modified Paths:
--------------
    trunk/sys/dev/ipmi/ipmi.c
    trunk/sys/dev/ipmi/ipmivars.h

Modified: trunk/sys/dev/ipmi/ipmi.c
===================================================================
--- trunk/sys/dev/ipmi/ipmi.c	2016-09-14 22:45:05 UTC (rev 7955)
+++ trunk/sys/dev/ipmi/ipmi.c	2016-09-14 22:46:15 UTC (rev 7956)
@@ -652,11 +652,12 @@
 		if (timeout == 0)
 			timeout = 1;
 		e = ipmi_set_watchdog(sc, timeout);
-		if (e == 0)
+		if (e == 0) {
 			*error = 0;
-		else
+			sc->ipmi_watchdog_active = 1;
+		} else
 			(void)ipmi_set_watchdog(sc, 0);
-	} else {
+	} else if (atomic_readandclear_int(&sc->ipmi_watchdog_active) != 0) {
 		e = ipmi_set_watchdog(sc, 0);
 		if (e != 0 && cmd == 0)
 			*error = EOPNOTSUPP;

Modified: trunk/sys/dev/ipmi/ipmivars.h
===================================================================
--- trunk/sys/dev/ipmi/ipmivars.h	2016-09-14 22:45:05 UTC (rev 7955)
+++ trunk/sys/dev/ipmi/ipmivars.h	2016-09-14 22:46:15 UTC (rev 7956)
@@ -105,6 +105,7 @@
 	struct cdev		*ipmi_cdev;
 	TAILQ_HEAD(,ipmi_request) ipmi_pending_requests;
 	eventhandler_tag	ipmi_watchdog_tag;
+	int			ipmi_watchdog_active;
 	struct intr_config_hook	ipmi_ich;
 	struct mtx		ipmi_lock;
 	struct cv		ipmi_request_added;



More information about the Midnightbsd-cvs mailing list