aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorConrad Meyer <cem@FreeBSD.org>2016-11-02 23:18:16 +0000
committerConrad Meyer <cem@FreeBSD.org>2016-11-02 23:18:16 +0000
commitea9e23edf392405750dd0bf886a038e8a5202e17 (patch)
tree7a7ee3b8144a0b7384a3f063a13b4db4a85650d8 /sys/dev
parent3c47cee5c871f35e1ae32cd07f7127f248545f73 (diff)
Notes
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ioat/ioat.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/ioat/ioat.c b/sys/dev/ioat/ioat.c
index 68c207a953f6..a434b4225348 100644
--- a/sys/dev/ioat/ioat.c
+++ b/sys/dev/ioat/ioat.c
@@ -747,6 +747,12 @@ out:
wakeup(&ioat->tail);
}
+ /*
+ * The device doesn't seem to reliably push suspend/halt statuses to
+ * the channel completion memory address, so poll the device register
+ * here.
+ */
+ comp_update = ioat_get_chansts(ioat) & IOAT_CHANSTS_STATUS;
if (!is_ioat_halted(comp_update) && !is_ioat_suspended(comp_update))
return;