Subject: Re: Serial console hangs
To: None <port-i386@netbsd.org>
From: Wolfgang Solfrank <ws@tools.de>
List: port-i386
Date: 09/03/1998 16:23:32
> There are 2 different cases: lost transmit interrupts and lost receive
> interrupts. What I said about calls from comcnpoll() would only help
> for receive interrupts, as *cnpoll() is only called if the console is
> read from. Most people seem to suffer from lost transmit interrupts.
> (Why don't I???)
> So comcnputc() must check if there is something left to transmit and
> space in the FIFO. As a start, I'd copy the
> if (ISSET(lsr, LSR_TXRDY)) {
> [...]
> }
> from comintr() to the end of comcnputc(). One must get hold of a
> "softc" pointer somehow before... (Perhaps save it into a global
> in com_attach_subr().)

Hmm, sorry for coming in late, and worse, I even haven't looked into the
code, but what's to say against just leaving the interrupts alone and let
the interrupt handler do its job?  The only problem I can see with this
would be devices that cannot be tested for interrupt causes, but that's
not the case with the com device, is it?

Surely I must be missing something here...

Ciao,
Wolfgang
-- 
ws@TooLs.DE     (Wolfgang Solfrank, TooLs GmbH) 	+49-228-985800