Permalink
Browse files

Two fixes:

- add a missing splser()/splx() pair in ser.c. Without it, we used to
  drop incoming characters under heavy load.
- delete the entries for 50 and 75 bps from the serspeedtab, as our
  hardware doesn't support these speeds.
  • Loading branch information...
1 parent 76b9b93 commit 9ecea47b2f71e9854da63e7da8dd7465eeaed990 is committed Apr 23, 1996
Showing with 7 additions and 4 deletions.
  1. +4 −1 PATCHLEVEL
  2. +3 −3 sys/arch/amiga/dev/ser.c
View
@@ -87,4 +87,7 @@ new revisions of the S3 chipset.
could cause the kernel to panic if the interface was ifconfig'd down
right before the IP layer tried to output through it.
-
+[kernel/amiga]: Two fixes for the builtin serial port driver: don't pretend
+we can operate at 50 or 75 bps, and fix the problem that the driver would
+drop incoming characters under heavy load due to a forgotten splser()/splx()
+pair.
@@ -1,4 +1,4 @@
-/* $NetBSD: ser.c,v 1.27.2.1 1995/10/20 11:01:14 chopps Exp $ */
+/* $NetBSD: ser.c,v 1.27.2.2 1996/04/23 17:36:52 is Exp $ */
/*
* Copyright (c) 1982, 1986, 1990 The Regents of the University of California.
@@ -106,8 +106,6 @@ struct tty *ser_tty[NSER];
struct speedtab serspeedtab[] = {
0, 0,
- 50, SERBRD(50),
- 75, SERBRD(75),
110, SERBRD(110),
134, SERBRD(134),
150, SERBRD(150),
@@ -506,8 +504,10 @@ serintr(unit)
log(LOG_WARNING, "ser0: %d ring buffer overflows.\n",
ovfl);
}
+ s2 = splser();
if (sbcnt == 0 && (tp->t_state & TS_TBLOCK) == 0)
SETRTS(ciab.pra); /* start accepting data again */
+ splx(s2);
splx(s1);
}

0 comments on commit 9ecea47

Please sign in to comment.