cvs commit: src/sys/alpha/alpha timerreg.h src/sys/boot/arc/lib elf_freebsd.c src/sys/boot/common newvers.sh src/sys/conf newvers.sh systags.sh src/sys/contrib/ipfilter/netinet fil.c...

Oliver Lehmann lehmann at ans-netz.de
Wed Apr 7 14:51:05 PDT 2004


Hi Warner,

Warner Losh wrote:

>   1.426     +12 -5     src/sys/dev/sio/sio.c

Was that intended?

@@ -1792,9 +1788,20 @@ siointr1(com)
 			}
 		}
 		line_status = inb(com->line_status_port);
-
+		if (line_status == 0xff) {
+			printf("sio%d: spouting nonsense -- disabled.\n",
+			    com->unit);
+			com->gone = 1;
+			break;
+		}
 		/* input event? (check first to help avoid overruns) */
 		while (line_status & LSR_RCV_MASK) {
+			if (line_status == 0xff) {
+				printf("sio%d: linestats bogus -- disabled.\n",
+				    com->unit);
+				com->gone = 1;
+				return;
+			}
 			/* break/unnattached error bits or real input? */
 			if (!(line_status & LSR_RXRDY))
 				recv_data = 0;

  Greetings, Oliver

-- 
 Oliver Lehmann
  http://www.pofo.de/
  http://wishlist.ans-netz.de/


More information about the cvs-src mailing list