summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authortmm <tmm@FreeBSD.org>2004-05-26 21:59:01 +0000
committertmm <tmm@FreeBSD.org>2004-05-26 21:59:01 +0000
commit28be985b11aebe64cc3d4ae68275bb99abe7af69 (patch)
tree33b847111146c9c0699b42bd7346a813c75a8408 /lib/libc
parenta1009a96f6d9c6362a94752a1a9b0e39926f8238 (diff)
downloadFreeBSD-src-28be985b11aebe64cc3d4ae68275bb99abe7af69.zip
FreeBSD-src-28be985b11aebe64cc3d4ae68275bb99abe7af69.tar.gz
It seems that clearing the MCR_IE bit in the modem control register
does not reliably prevent the triggering of interrupts for all supported configurations. Thus, the FIFO size probe could cause an interrupt, which could lead to an interrupt storm in the shared interrupt case. To prevent this, change ns8250_bus_probe() to use the overflow bit in the line status register instead of the RX ready bit in the interrupt identification register to detect whether the FIFO has filled up. This allows us to clear all bits in the interrupt enable register during the probe, which should prevent interrupts reliably. Additionally, the detected FIFO size may be a bit more accurate, because the overflow bit is only set when the FIFO did actually fill up, while interrupts would trigger a bit early. Reviewed and tested on a lot of hardware by: marcel
Diffstat (limited to 'lib/libc')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud