*BSD News Article 4637


Return to BSD News archive

Path: sserve!manuel!munnari.oz.au!uunet!spool.mu.edu!sdd.hp.com!wupost!uwm.edu!rutgers!igor.rutgers.edu!athos.rutgers.edu!hedrick
From: hedrick@athos.rutgers.edu (Charles Hedrick)
Newsgroups: comp.unix.bsd
Subject: more about 386BSD SLIP
Message-ID: <Sep.7.14.41.53.1992.602@athos.rutgers.edu>
Date: 7 Sep 92 18:41:54 GMT
Organization: Rutgers Univ., New Brunswick, N.J.
Lines: 12

Aside from the well-known silo overflow problem, I think there's
another problem in the serial driver.  I just had output hang in SLIP.
There's a well-known problem that causes output interrupts not to
happen sometimes.  I've heard people who really know the serial
devices claim that with correct interrupt handling code this won't
happen, but in every piece of device-level code I've seen, it has.
The problem showed up in SLIP8250 (the MSDOS packet driver -- I have a
fixed version), in the FTP Inc SLIP implementation (they fixed it a
couple of years ago), and Linux (until it was fixed several releases
ago).  The obvious solution is to time out serial writes.  If you send
a character and don't get output done within a reasonable time, just
assume the output worked and go ahead with the next.