[comp.bugs.2bsd] V1.13

bostic@OKEEFFE.BERKELEY.EDU (Keith Bostic) (10/31/87)

Subject: cnstart doesn't always reset the interrupt level
Index: sys/pdp/cons.c 2.10BSD

Description:
	The cnstart routine can return without resetting the
	spl level.
Repeat-By:
	By inspection.
Fix:
	Apply the following patch.

*** cons.c.orig	Fri Oct 30 15:09:26 1987
--- cons.c	Fri Oct 30 15:09:57 1987
***************
*** 169,175 ****
  		goto out;
  	addr = (struct dldevice *)tp->t_addr;
  	if ((addr->dlxcsr & DLXCSR_TRDY) == 0)
! 		return;
  	c = getc(&tp->t_outq);
  	if (tp->t_flags & (RAW|LITOUT))
  		addr->dlxbuf = c&0xff;
--- 169,175 ----
  		goto out;
  	addr = (struct dldevice *)tp->t_addr;
  	if ((addr->dlxcsr & DLXCSR_TRDY) == 0)
! 		goto out;
  	c = getc(&tp->t_outq);
  	if (tp->t_flags & (RAW|LITOUT))
  		addr->dlxbuf = c&0xff;