Subject: kern/4123: ISA com driver no longer groks B0 as hangup
To: None <gnats-bugs@gnats.netbsd.org>
From: John Kohl <jtk@kolvir.arlington.ma.us>
List: netbsd-bugs
Date: 09/19/1997 01:24:19
>Number:         4123
>Category:       kern
>Synopsis:       ISA com driver no longer groks B0 as hangup
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Sep 18 22:35:01 1997
>Last-Modified:
>Originator:     John Kohl
>Organization:
NetBSD Kernel Hackers `R` Us
>Release:        NetBSD-current, 1997/09/18
>Environment:
	
System: NetBSD kolvir.arlington.ma.us 1.2G NetBSD 1.2G (KOLVIR) #22: Fri Sep 19 01:09:15 EDT 1997 jtk@kolvir.arlington.ma.us:/u4/sandbox/src/sys/arch/i386/compile/KOLVIR i386


>Description:
	The latest changes to the com driver to handle multiple
frequency multipliers seems to have broken the POSIX requirement that a
baud rate of B0 mean "hang up".  comparam() rejects a termios with a
speed of B0.

>How-To-Repeat:

#include <termios.h>

main()
{
    struct termios t;

    tcgetattr(0, &t);
    cfsetispeed(&t, 0);
    cfsetospeed(&t, B0);
    if (tcsetattr(0, TCSANOW, &t) == -1)
	perror("tcsetattr");
}

>Fix:
	There's an #if 0 in comrate() which when converted to #if 1
seems to do the trick.  I'm not sure if that's quite right, though ...
>Audit-Trail:
>Unformatted: