summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2018-08-13 19:59:37 +0000
committerWarner Losh <imp@FreeBSD.org>2018-08-13 19:59:37 +0000
commitd4b95382ee038ecd6e8c70c06f3c6b6a562d4f0c (patch)
treea158983e5c5a145b13b9844a97583b33ad6cfa3e
parent0cc28e3cd57ade3b52139ac0d3fd357d6e325074 (diff)
Notes
-rw-r--r--sys/dev/mps/mps_sas_lsi.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/mps/mps_sas_lsi.c b/sys/dev/mps/mps_sas_lsi.c
index 1be5048aad2d..95f4dfd8b339 100644
--- a/sys/dev/mps/mps_sas_lsi.c
+++ b/sys/dev/mps/mps_sas_lsi.c
@@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$");
#include <sys/uio.h>
#include <sys/sysctl.h>
#include <sys/endian.h>
+#include <sys/proc.h>
#include <sys/queue.h>
#include <sys/kthread.h>
#include <sys/taskqueue.h>
@@ -1209,7 +1210,9 @@ mpssas_SSU_to_SATA_devices(struct mps_softc *sc, int howto)
*/
while (sc->SSU_refcount > 0) {
pause("mpswait", hz/10);
-
+ if (SCHEDULER_STOPPED())
+ xpt_sim_poll(sassc->sim);
+
if (--timeout == 0) {
mps_dprint(sc, MPS_FAULT, "Time has expired waiting "
"for SSU commands to complete.\n");