diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2022-02-02 15:33:07 +0100 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2022-02-04 12:26:58 +0100 |
commit | 119d5126d1c69ae0920a6e888e4b419458c5e292 (patch) | |
tree | 969728e6209ba1ea55726a04e07d50344f2d087c | |
parent | f4b1a6b6419b771d26342a9b75b1d77ee9d90133 (diff) | |
download | systemd-119d5126d1c69ae0920a6e888e4b419458c5e292.tar.gz |
shutdown: don't stop the watchdog
This basically reverts #22079.
Stopping the watchdog is wrong. The reboot watchdog is supposed to cover
the whole time from the point when systemd start systemd-reboot until the
hardware resets.
Otherwise the system may hang in the final shutdown phase.
Add a comment, why keeping the watchdog running is correct here.
-rw-r--r-- | src/shutdown/shutdown.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c index 15fd6f93d3..2c3cbec02c 100644 --- a/src/shutdown/shutdown.c +++ b/src/shutdown/shutdown.c @@ -531,8 +531,9 @@ int main(int argc, char *argv[]) { need_md_detach ? " MD devices," : ""); } - /* We're done with the watchdog. */ - watchdog_close(true); + /* We're done with the watchdog. Note that the watchdog is explicitly not + * stopped here. It remains active to guard against any issues during the + * rest of the shutdown sequence. */ watchdog_free_device(); arguments[0] = NULL; |