summary |
tags |
clone url |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
98a70dc)
Tracked down the bizzarre error we were getting on the console from the
mp driver. It was due to a missing case in a switch statement. Turns out
it was reporting that a port saw the BREAK key pressed. It also had a
overzealous logging of frame and parity errors. In actual use with
lots of ports this a bit much. Since none of the other tty drivers log
every break, framing error or parity error I made the following change:
SCCS-vsn: sys/tahoe/vba/mp.c 1.3
#include "mp.h"
#if NMP > 0
#include "mp.h"
#if NMP > 0
ptr = (caddr_t)&mp_softc[unit].ms_cbuf[port][mp->mp_nextrcv][0];
ev->ev_un.rcvblk = (u_char *)vtoph(0, ptr);
ev->ev_params = (caddr_t) vtoph(0, ptr);
ptr = (caddr_t)&mp_softc[unit].ms_cbuf[port][mp->mp_nextrcv][0];
ev->ev_un.rcvblk = (u_char *)vtoph(0, ptr);
ev->ev_params = (caddr_t) vtoph(0, ptr);
- switch(ev->ev_error) {
- case RCVDTA: /* Normal (good) rcv data */
- rcverr = (char *)0;
- break;
- case PARERR: /* parity error */
- rcverr = "parity error";
- break;
+ switch(ev->ev_error) {
+ case RCVDTA: /* Normal (good) rcv data */
+ /* do not report the following */
+ /* they are "normal" errors */
case FRAMERR: /* frame error */
case FRAMERR: /* frame error */
- rcverr = "frame error";
+ case BRKASRT: /* Break condition */
+ case PARERR: /* parity error */
+ rcverr = (char *)0;
break;
case OVRNERR: /* Overrun error */
rcverr = "overrun error";
break;
case OVRNERR: /* Overrun error */
rcverr = "overrun error";