summaryrefslogtreecommitdiffstats
path: root/sys/cam
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2017-01-21 08:43:41 +0000
committermav <mav@FreeBSD.org>2017-01-21 08:43:41 +0000
commitb465c8f5803f6acdaf442c595dfac2ecd2676c20 (patch)
tree543d0519cacda769c5963dd4a3809c411792bc0d /sys/cam
parent3ecb9b2bf7756dca73db68895a56dda298c56cc6 (diff)
downloadFreeBSD-src-b465c8f5803f6acdaf442c595dfac2ecd2676c20.zip
FreeBSD-src-b465c8f5803f6acdaf442c595dfac2ecd2676c20.tar.gz
MFC r311892: Do not wait for HA thread shutdown if scheduler is stopped.
This wait loop made system hang on panic instead of reboot.
Diffstat (limited to 'sys/cam')
-rw-r--r--sys/cam/ctl/ctl_ha.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/cam/ctl/ctl_ha.c b/sys/cam/ctl/ctl_ha.c
index 1d85847..9a63240 100644
--- a/sys/cam/ctl/ctl_ha.c
+++ b/sys/cam/ctl/ctl_ha.c
@@ -1001,7 +1001,7 @@ ctl_ha_msg_shutdown(struct ctl_softc *ctl_softc)
softc->ha_shutdown = 1;
softc->ha_wakeup = 1;
wakeup(&softc->ha_wakeup);
- while (softc->ha_shutdown < 2) {
+ while (softc->ha_shutdown < 2 && !SCHEDULER_STOPPED()) {
msleep(&softc->ha_wakeup, &softc->ha_lock, 0,
"shutdown", hz);
}
OpenPOWER on IntegriCloud