diff options
author | ed <ed@FreeBSD.org> | 2010-09-19 14:21:39 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2010-09-19 14:21:39 +0000 |
commit | 99ba5ac1139f70822852c05d5c11054245b95da3 (patch) | |
tree | 767d1b4b2d7819276ae77d5caaf4ac606273e8ed /sys/kern/tty.c | |
parent | 80ba2a07f7b50b6ec7cb61e52af24d29c7d5759b (diff) | |
download | FreeBSD-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.c | 3 |
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) |