From 5f7312a0d70c607afa9ce24ccd757321d043e02c Mon Sep 17 00:00:00 2001 From: Andriy Gapon Date: Fri, 9 Jul 2021 18:00:21 +0300 Subject: [PATCH] syscon_power: do reboot after shutdown_panic is executed A syscon_power instance can handle either poweroff or reboot, but not both. If the instance handles reboot then set its priority to be after shutdown_panic. This is to provide uniform experience with other platforms. MFC after: 3 weeks --- sys/dev/syscon/syscon_power.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/dev/syscon/syscon_power.c b/sys/dev/syscon/syscon_power.c index 365dc0252417..6897cf3df422 100644 --- a/sys/dev/syscon/syscon_power.c +++ b/sys/dev/syscon/syscon_power.c @@ -161,9 +161,11 @@ syscon_power_attach(device_t dev) OF_getencprop(node, "value", &sc->value, sizeof(sc->value)); } + /* Handle reboot after shutdown_panic. */ sc->reboot = ofw_bus_is_compatible(dev, "syscon-reboot"); sc->shutdown_tag = EVENTHANDLER_REGISTER(shutdown_final, - syscon_power_shutdown_final, dev, SHUTDOWN_PRI_LAST); + syscon_power_shutdown_final, dev, + sc->reboot ? SHUTDOWN_PRI_LAST + 150 : SHUTDOWN_PRI_LAST); return (0); }