aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWojciech Macek <wma@FreeBSD.org>2021-08-17 06:28:21 +0000
committerWojciech Macek <wma@FreeBSD.org>2021-08-17 06:31:00 +0000
commite8ad0a0059afe1cd0af39bab49018ae7bc9be937 (patch)
tree5911640e28d191ca2c10536f099e5f169fbbdfd7
parentcbfba56c45ab77303a3e25a82cf750043849760b (diff)
downloadsrc-e8ad0a0059afe1cd0af39bab49018ae7bc9be937.tar.gz
src-e8ad0a0059afe1cd0af39bab49018ae7bc9be937.zip
ipmi: New tunable to deactivate IPMI watchdog
In case we want to use other WD than IPMI-provided, add sysctl to disable initialization. Obtained from: Semihalf Sponsored by: Stormshield Differential revision: https://reviews.freebsd.org/D31548
-rw-r--r--sys/dev/ipmi/ipmi.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/ipmi/ipmi.c b/sys/dev/ipmi/ipmi.c
index cd2a289b25cb..77fd4b68ae96 100644
--- a/sys/dev/ipmi/ipmi.c
+++ b/sys/dev/ipmi/ipmi.c
@@ -96,11 +96,14 @@ static int wd_shutdown_countdown = 0; /* sec */
static int wd_startup_countdown = 0; /* sec */
static int wd_pretimeout_countdown = 120; /* sec */
static int cycle_wait = 10; /* sec */
+static int wd_init_disable = 0;
static SYSCTL_NODE(_hw, OID_AUTO, ipmi, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
"IPMI driver parameters");
SYSCTL_INT(_hw_ipmi, OID_AUTO, on, CTLFLAG_RWTUN,
&on, 0, "");
+SYSCTL_INT(_hw_ipmi, OID_AUTO, wd_init_disable, CTLFLAG_RWTUN,
+ &wd_init_disable, 0, "");
SYSCTL_INT(_hw_ipmi, OID_AUTO, wd_timer_actions, CTLFLAG_RW,
&wd_timer_actions, 0,
"IPMI watchdog timer actions (including pre-timeout interrupt)");
@@ -909,7 +912,7 @@ ipmi_startup(void *arg)
* Probe for watchdog, but only for backends which support
* polled driver requests.
*/
- if (sc->ipmi_driver_requests_polled) {
+ if (!wd_init_disable && sc->ipmi_driver_requests_polled) {
IPMI_INIT_DRIVER_REQUEST(req, IPMI_ADDR(IPMI_APP_REQUEST, 0),
IPMI_GET_WDOG, 0, 0);