diff options
author | nyan <nyan@FreeBSD.org> | 2005-02-04 13:35:21 +0000 |
---|---|---|
committer | nyan <nyan@FreeBSD.org> | 2005-02-04 13:35:21 +0000 |
commit | 64be87543b637fa023aeb2f19f02794838438d6e (patch) | |
tree | de7e0c85114eb2d941ac0a2269e05d6a3b9e93cb | |
parent | 8ebefadd24ec57a1210d01d3883ea0e2de2303fe (diff) | |
download | FreeBSD-src-64be87543b637fa023aeb2f19f02794838438d6e.zip FreeBSD-src-64be87543b637fa023aeb2f19f02794838438d6e.tar.gz |
Merged from sys/dev/sio/sio.c revision 1.457.
-rw-r--r-- | sys/pc98/cbus/sio.c | 14 | ||||
-rw-r--r-- | sys/pc98/pc98/sio.c | 14 |
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); } |