Date: Sat, 5 Apr 2014 22:25:10 +0000 (UTC) From: Marcel Moolenaar <marcel@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r264175 - in head: . sys/dev/uart Message-ID: <201404052225.s35MPAb7019924@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: marcel Date: Sat Apr 5 22:25:10 2014 New Revision: 264175 URL: http://svnweb.freebsd.org/changeset/base/264175 Log: Do not prevent processes from making changes to the baudrate or the CLOCAL and HUPCL control flags. There are legit reasons for allowing those to be changed. When /etc/ttys has the "3wire" type (without a baudrate) for the serial port that is the low-level console, then this change has no effect. Obtained from: Juniper Networks, Inc. Modified: head/UPDATING head/sys/dev/uart/uart_tty.c Modified: head/UPDATING ============================================================================== --- head/UPDATING Sat Apr 5 22:13:32 2014 (r264174) +++ head/UPDATING Sat Apr 5 22:25:10 2014 (r264175) @@ -31,6 +31,20 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20140405: + The uart(4) driver has been changed with respect to its handling + of the low-level console. Previously the uart(4) driver prevented + any process from changing the baudrate or the CLOCAL and HUPCL + control flags. By removing the restrictions, operators can make + changes to the serial console port without having to reboot. + However, when getty(8) is started on the serial device that is + associated with the low-level console, a misconfigured terminal + line in /etc/ttys will now have a real impact. + Before upgrading the kernel, make sure that /etc/ttys has the + serial console device configured as 3wire without baudrate to + preserve teh previous behaviour. E.g: + ttyu0 "/usr/libexec/getty 3wire" vt100 on secure + 20140325: It is no longer necessary to include the dwarf version in your DEBUG options in your kernel config file. The bug that required it to be Modified: head/sys/dev/uart/uart_tty.c ============================================================================== --- head/sys/dev/uart/uart_tty.c Sat Apr 5 22:13:32 2014 (r264174) +++ head/sys/dev/uart/uart_tty.c Sat Apr 5 22:25:10 2014 (r264175) @@ -244,12 +244,6 @@ uart_tty_param(struct tty *tp, struct te return (ENODEV); if (t->c_ispeed != t->c_ospeed && t->c_ospeed != 0) return (EINVAL); - /* Fixate certain parameters for system devices. */ - if (sc->sc_sysdev != NULL) { - t->c_ispeed = t->c_ospeed = sc->sc_sysdev->baudrate; - t->c_cflag |= CLOCAL; - t->c_cflag &= ~HUPCL; - } if (t->c_ospeed == 0) { UART_SETSIG(sc, SER_DDTR | SER_DRTS); return (0);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404052225.s35MPAb7019924>