summaryrefslogtreecommitdiffstats
path: root/sys/dev/pv/xen.c
diff options
context:
space:
mode:
authormikeb <mikeb@openbsd.org>2017-07-19 16:48:22 +0000
committermikeb <mikeb@openbsd.org>2017-07-19 16:48:22 +0000
commit944249e80d58eea660bcc06e8571275b4d83598e (patch)
tree6c6cf97c20dcb6f65ef3dd7f9c4d4d5e0088f8db /sys/dev/pv/xen.c
parentAdd a handler for RNDIS status messages (diff)
downloadwireguard-openbsd-944249e80d58eea660bcc06e8571275b4d83598e.tar.xz
wireguard-openbsd-944249e80d58eea660bcc06e8571275b4d83598e.zip
Turn this into a panic since there's no way to recover from it
Diffstat (limited to 'sys/dev/pv/xen.c')
-rw-r--r--sys/dev/pv/xen.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/dev/pv/xen.c b/sys/dev/pv/xen.c
index 7be07f2af05..19f16dca860 100644
--- a/sys/dev/pv/xen.c
+++ b/sys/dev/pv/xen.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: xen.c,v 1.87 2017/07/17 16:32:26 mikeb Exp $ */
+/* $OpenBSD: xen.c,v 1.88 2017/07/19 16:48:22 mikeb Exp $ */
/*
* Copyright (c) 2015, 2016, 2017 Mike Belopuhov
@@ -1218,10 +1218,11 @@ xen_grant_table_remove(struct xen_softc *sc, grant_ref_t ref)
loop = 0;
while (atomic_cas_uint(ptr, flags, GTF_invalid) != flags) {
if (loop++ > 10) {
- printf("%s: grant table reference %u is held "
- "by domain %d\n", sc->sc_dev.dv_xname, ref +
- ge->ge_start, ge->ge_table[ref].domid);
- return;
+ panic("%s: grant table reference %u is held "
+ "by domain %d: frame %#x flags %#x\n",
+ sc->sc_dev.dv_xname, ref + ge->ge_start,
+ ge->ge_table[ref].domid, ge->ge_table[ref].frame,
+ ge->ge_table[ref].flags);
}
#if (defined(__amd64__) || defined(__i386__))
__asm volatile("pause": : : "memory");