svn commit: r264175 - in head: . sys/dev/uart

Marcel Moolenaar marcel at FreeBSD.org
Sat Apr 5 22:25:11 UTC 2014


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);


More information about the svn-src-all mailing list