Subject: Bug in Indy serial driver?

From: "Kevin D. Kissell" <[email-masked]>
Date: Fri, 17 Sep 1999 17:48:22 +0200

In trying to use remote gdb targets, I came across
a problem with the Indy serial driver.  I'm running
2.2.12, but the driver and line discipline code are
unchanged from 2.2.10.  

If one turns off output postprocessing via ioctl, or simply 
with an stty -opost < /dev/ttyS0, writes to the device 
succeed, but the data is never sent.  A close of the 
device will then hang for a 30 second timeout, but 
the data isn't flushed then, either.  The line discipline
follows a different code path in the O_POST case
than in the no-opost case, and it looked to me as
if perhaps things were working in the O_POST
case simply because there are more explicit
flushes being performed, as the restart of the
transmitter in ns_write is conditional on a status
that may never be satisfied.  I removed that 
condition, but this has no effect on the behaviour.

Has anyone else seen this, or better still, fixed it?
It's possible that the bug is in n_tty.c itself, but
as that is generic to all Linux serial ports, I would
be rather surprised if it had not been found and
fixed long ago.

            Regards,

            Kevin K.
__

Kevin D. Kissell
MIPS Technologies European Architecture Lab
[email-masked]
Tel. +33.4.78.38.70.67
FAX. +33.4.78.38.70.68