aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWojciech Macek <wma@FreeBSD.org>2021-08-17 06:28:21 +0000
committerAlexander Motin <mav@FreeBSD.org>2021-09-15 15:39:18 +0000
commit8fe536177ade732f4e44707134dc4a974fcb801c (patch)
tree28960665eb2e97f989918220c7569eb29063da92
parent4bfe0d4059b59719ce813eec6619df7d9f2147de (diff)
downloadsrc-8fe536177ade732f4e44707134dc4a974fcb801c.tar.gz
src-8fe536177ade732f4e44707134dc4a974fcb801c.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 (cherry picked from commit e8ad0a0059afe1cd0af39bab49018ae7bc9be937)
-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);