summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/pc98/cbus/sio.c14
-rw-r--r--sys/pc98/pc98/sio.c14
2 files changed, 18 insertions, 10 deletions
diff --git a/sys/pc98/cbus/sio.c b/sys/pc98/cbus/sio.c
index f2b3c65..d009864 100644
--- a/sys/pc98/cbus/sio.c
+++ b/sys/pc98/cbus/sio.c
@@ -3763,16 +3763,20 @@ siocnputc(struct consdev *cd, int c)
}
s = spltty();
need_unlock = 0;
- if (sio_inited == 2 && !mtx_owned(&sio_lock)) {
- mtx_lock_spin(&sio_lock);
- need_unlock = 1;
+ if (!kdb_active) {
+ if (sio_inited == 2 && !mtx_owned(&sio_lock)) {
+ mtx_lock_spin(&sio_lock);
+ need_unlock = 1;
+ }
}
siocnopen(&sp, iobase, speed);
siocntxwait(iobase);
outb(iobase + com_data, c);
siocnclose(&sp, iobase);
- if (need_unlock)
- mtx_unlock_spin(&sio_lock);
+ if (!kdb_active) {
+ if (need_unlock)
+ mtx_unlock_spin(&sio_lock);
+ }
splx(s);
}
diff --git a/sys/pc98/pc98/sio.c b/sys/pc98/pc98/sio.c
index f2b3c65..d009864 100644
--- a/sys/pc98/pc98/sio.c
+++ b/sys/pc98/pc98/sio.c
@@ -3763,16 +3763,20 @@ siocnputc(struct consdev *cd, int c)
}
s = spltty();
need_unlock = 0;
- if (sio_inited == 2 && !mtx_owned(&sio_lock)) {
- mtx_lock_spin(&sio_lock);
- need_unlock = 1;
+ if (!kdb_active) {
+ if (sio_inited == 2 && !mtx_owned(&sio_lock)) {
+ mtx_lock_spin(&sio_lock);
+ need_unlock = 1;
+ }
}
siocnopen(&sp, iobase, speed);
siocntxwait(iobase);
outb(iobase + com_data, c);
siocnclose(&sp, iobase);
- if (need_unlock)
- mtx_unlock_spin(&sio_lock);
+ if (!kdb_active) {
+ if (need_unlock)
+ mtx_unlock_spin(&sio_lock);
+ }
splx(s);
}
OpenPOWER on IntegriCloud