summaryrefslogtreecommitdiffstats
path: root/sys/kern/tty.c
diff options
context:
space:
mode:
authored <ed@FreeBSD.org>2010-09-19 14:21:39 +0000
committered <ed@FreeBSD.org>2010-09-19 14:21:39 +0000
commit99ba5ac1139f70822852c05d5c11054245b95da3 (patch)
tree767d1b4b2d7819276ae77d5caaf4ac606273e8ed /sys/kern/tty.c
parent80ba2a07f7b50b6ec7cb61e52af24d29c7d5759b (diff)
downloadFreeBSD-src-99ba5ac1139f70822852c05d5c11054245b95da3.zip
FreeBSD-src-99ba5ac1139f70822852c05d5c11054245b95da3.tar.gz
Ignore DCD handling on /dev/console entirely.
This makes /dev/console more fail-safe and prevents a potential console lock-up during boot. Discussed on: stable@ Tested by: koitsu@ MFC after: 1 week
Diffstat (limited to 'sys/kern/tty.c')
-rw-r--r--sys/kern/tty.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/tty.c b/sys/kern/tty.c
index 9021849..ed22e7a 100644
--- a/sys/kern/tty.c
+++ b/sys/kern/tty.c
@@ -282,7 +282,8 @@ ttydev_open(struct cdev *dev, int oflags, int devtype, struct thread *td)
/* Wait for Carrier Detect. */
if (!TTY_CALLOUT(tp, dev) && (oflags & O_NONBLOCK) == 0 &&
- (tp->t_termios.c_cflag & CLOCAL) == 0) {
+ (tp->t_termios.c_cflag & CLOCAL) == 0 &&
+ dev != dev_console) {
while ((ttydevsw_modem(tp, 0, 0) & SER_DCD) == 0) {
error = tty_wait(tp, &tp->t_dcdwait);
if (error != 0)
OpenPOWER on IntegriCloud