Subject: Re: tty bug?
To: None <is@jocelyn.rhein.de>
From: Michael L. Hitch <mhitch@msu.oscs.montana.edu>
List: port-amiga
Date: 04/25/2000 14:06:35
Ignatios Souvatzis <is@jocelyn.rhein.de> writes: 
> 
> On Wed, Apr 12, 2000 at 09:53:45AM +0200, Adam Ciarcinski wrote:
> > Hi,
> > 
> > The latest kernel (Apr 8) causes panic (uvm_fault) while configuring
> > ttys by ttyconfig -a.  It panics on ttys which are not configured.
> > When I comment all unused ttys from /etc/ttys, everything is fine.
> > I am not sure which ttys causes problem, but I think these are some
> > serials.
> > 
> > I hope Ignatios will do something with it. :)
> 
> No idea.
> 
> Which sort of ttys? ser? ttyE? ttyp? ttyA, ttyB, ttyC?

  It's probably tty00, and this should now be fixed (by a change in
par.c).

  How does a change in par.c change this, you might ask?  Well, a long
time ago, the amiga was changed to use the "new" config method of
autoconfiguration.  The parallel port driver was specifying a 'sizeof(struct
device'-sized data for it's device storage.  The actual storage used was
smaller than 'struct device', so there was no noticable problems.  Recently,
several changes were made to the parallel device data storage structure
definition:  the change from timeout/untimeout to callout added two callout
structures, and the 'missing' struct device was added.  This caused the
parallel device storage to exceed the size acually allocated for it by the
autoconfig process.  When the callout structures were initialized when the
parallel port was attached, it resulted in zeroing out all the previously
initialized data for the built-in serial port.  Upon the first open to
the serial device (/dev/tty00), an access through a NULL pointer would
occur.

  This has been fixed since last Sunday, so kernels built with sources
since then should work.  [However, I think a change to ser.c now causes
the serial device to not be configured.]

Michael
---
Michael L. Hitch                        mhitch@montana.edu
Computer Consultant,  Information Technology Center
Montana State University, Bozeman, MT     USA