Subject: Re: Re: Serial port
To: Peter Berg <Peter.Berg@ww.tu-freiberg.de>
From: Mark Brinicombe <amb@physig.ph.kcl.ac.uk>
List: port-arm32
Date: 12/23/1996 22:24:16
On Sat, 21 Dec 1996, Peter Berg wrote:

> > > I've been having a few problems with the serial port and recent kernels.
> > > 
> > > Sometimes RiscBSD just hangs when dip starts, but not always. I think it 
> > > may be related to whether I turn the modem on before I boot RiscBSD or 
> > > not... I'm not sure.
> 
> I have the same problems, but I'd say that this have something to do with the 
> speed the serial port is running. On all speeds above 38400 the kernel freezes 
> the serial connection, not depending on when the modem was switched on.
> The faster you'll run the faster it freezes :((

Ok I have recently noticed the serial port hanging sometimes (often with 
dip). The problem is that the serial driver is hanging when the serial 
device is opened. This behaviour is new but I don't know what triggered it.
What actually happens is that the serial chip indicates there is data in 
its FIFO. The open routine tries to clear out any junk data sitting in 
the fifo, so it reads a byte and tests the empty flag again.
WHat happens is that no matter how much is read out the FIFO the serial 
chip still flags data present. Thus the driver hangs in a loop trying to 
drain the serial FIFO.

Initially I had put this does to a fault  with my serial hardware but if 
other people are experiencing it may be the problem lies else where.

One question .... Is this specific to SA110 kernels or not ?

CHeers,
			Mark


Mark Brinicombe				amb@physig.ph.kcl.ac.uk
Research Associate			http://www.ph.kcl.ac.uk/~amb/
Department of Physics			tel: 0171 873 2894
King's College London			fax: 0171 873 2716