aboutsummaryrefslogtreecommitdiff
path: root/i386/i386at/kd.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2023-08-12 13:24:29 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2023-08-12 23:29:30 +0200
commitdd2ffd2ed67f2a867f62d30b8ff38516a80ea8e6 (patch)
tree468336428c4f9fc1a2c2b5cfa41a7d98e464621e /i386/i386at/kd.c
parent34890b4939c1ee8190a103b8693e94ddffe13ffa (diff)
downloadgnumach-dd2ffd2ed67f2a867f62d30b8ff38516a80ea8e6.tar.gz
gnumach-dd2ffd2ed67f2a867f62d30b8ff38516a80ea8e6.tar.bz2
gnumach-dd2ffd2ed67f2a867f62d30b8ff38516a80ea8e6.zip
tty: Convert t_lock to using simple_lock_irq
Diffstat (limited to 'i386/i386at/kd.c')
-rw-r--r--i386/i386at/kd.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/i386/i386at/kd.c b/i386/i386at/kd.c
index 2fa7b60d..e9b110bf 100644
--- a/i386/i386at/kd.c
+++ b/i386/i386at/kd.c
@@ -441,13 +441,12 @@ kdopen(
spl_t o_pri;
tp = &kd_tty;
- o_pri = spltty();
- simple_lock(&tp->t_lock);
+ o_pri = simple_lock_irq(&tp->t_lock);
if (!(tp->t_state & (TS_ISOPEN|TS_WOPEN))) {
/* XXX ttychars allocates memory */
- simple_unlock(&tp->t_lock);
+ simple_unlock_nocheck(&tp->t_lock.slock);
ttychars(tp);
- simple_lock(&tp->t_lock);
+ simple_lock_nocheck(&tp->t_lock.slock);
/*
* Special support for boot-time rc scripts, which don't
* stty the console.
@@ -459,8 +458,7 @@ kdopen(
kdinit();
}
tp->t_state |= TS_CARR_ON;
- simple_unlock(&tp->t_lock);
- splx(o_pri);
+ simple_unlock_irq(o_pri, &tp->t_lock);
return (char_open(dev, tp, flag, ior));
}
@@ -484,11 +482,10 @@ kdclose(dev_t dev, int flag)
tp = &kd_tty;
{
- spl_t s = spltty();
- simple_lock(&tp->t_lock);
+ spl_t s;
+ s = simple_lock_irq(&tp->t_lock);
ttyclose(tp);
- simple_unlock(&tp->t_lock);
- splx(s);
+ simple_unlock_irq(s, &tp->t_lock);
}
return;