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