summaryrefslogtreecommitdiff
path: root/sys/dev/sio/sio.c
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2001-10-20 03:32:33 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2001-10-20 03:32:33 +0000
commit76e296aa31642a5f6b943261c9d34150495a0e2c (patch)
treecccb03262f8b70332a6a490fe8b029e71e436d81 /sys/dev/sio/sio.c
parentdee2bb2540e5afb13b9dc15621f788310789af2d (diff)
Notes
Diffstat (limited to 'sys/dev/sio/sio.c')
-rw-r--r--sys/dev/sio/sio.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c
index badf07d4368a..9f86bc868bb9 100644
--- a/sys/dev/sio/sio.c
+++ b/sys/dev/sio/sio.c
@@ -778,8 +778,12 @@ sioprobe(dev, xrid)
com->bst = rman_get_bustag(port);
com->bsh = rman_get_bushandle(port);
- if (atomic_cmpset_int(&sio_inited, 0, 1))
- mtx_init(&sio_lock, driver_name, MTX_SPIN);
+ while (sio_inited != 2)
+ if (atomic_cmpset_int(&sio_inited, 0, 1)) {
+ mtx_init(&sio_lock, driver_name, (comconsole != -1) ?
+ MTX_SPIN | MTX_QUIET : MTX_SPIN);
+ atomic_store_rel_int(&sio_inited, 2);
+ }
#if 0
/*