svn commit: r295557 - head/sys/dev/uart

Marius Strobl marius at freebsd.org
Fri Feb 12 16:47:59 UTC 2016


On Fri, Feb 12, 2016 at 05:14:58AM +0000, Michal Meloun wrote:
> Author: mmel
> Date: Fri Feb 12 05:14:58 2016
> New Revision: 295557
> URL: https://svnweb.freebsd.org/changeset/base/295557
> 
> Log:
>   UART: Fix spurious interrupts generated by ns8250 and lpc drivers:
>    - don't enable transmitter empty interrupt before filling TX FIFO.

Are you sure this doesn't create a race that leads to lost TX ready
interrupts? For a single character, the TX FIFO very well may be empty
again at the point in time IER_ETXRDY is enabled now. With the varying
behavior of 8250/16x50 chips - some of which is documented in sio(4) -
I'd expect there are many that no longer generate a TX ready at all
with this change in place. In this case, receiving spurious interrupts
(which ones? IIR_NOPEND? IIR_TXRDY?) with some devices appears to be
the lesser evil.

Marius



More information about the svn-src-head mailing list