opnsense-src/sys
Thomas Moestl 89eef2de47 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
2004-05-26 21:59:01 +00:00
..
alpha Retire cpu_sched_exit(); it is not used any more. 2004-05-26 12:09:39 +00:00
amd64 Retire cpu_sched_exit(); it is not used any more. 2004-05-26 12:09:39 +00:00
arm Retire cpu_sched_exit(); it is not used any more. 2004-05-26 12:09:39 +00:00
boot Use the correct location of the EBDA for searching for the RSDP. 2004-05-25 05:52:48 +00:00
cam Quirk for Neuros USB audio device. 2004-05-02 19:24:23 +00:00
coda Device megapatch 5/6: 2004-02-21 21:32:15 +00:00
compat Small timer cleanups: 2004-04-30 20:51:55 +00:00
conf Add pccarddevs.h and usbdevs.h as depends, ala miidevs.h, in the right 2004-05-26 16:31:41 +00:00
contrib This commit was generated by cvs2svn to compensate for changes in r129694, 2004-05-25 03:06:37 +00:00
crypto Fix a reentrancy issue in md5_calc(). 2004-01-27 18:57:21 +00:00
ddb Fixed DDB_NOKLDSYM on amd64's: 2004-05-18 05:30:06 +00:00
dev It seems that clearing the MCR_IE bit in the modem control register 2004-05-26 21:59:01 +00:00
fs Switch from using the vnode interlock to a private mutex in fifo_open() 2004-05-17 20:16:40 +00:00
geom Dump some more informations: 2004-05-26 11:36:27 +00:00
gnu Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
i4b Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
i386 Retire cpu_sched_exit(); it is not used any more. 2004-05-26 12:09:39 +00:00
ia64 Retire cpu_sched_exit(); it is not used any more. 2004-05-26 12:09:39 +00:00
isa Move fdc from isa/fd.c to dev/fdc/fdc.c. The old files were 2004-05-17 05:46:16 +00:00
isofs/cd9660 Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
kern Sysctl hw.bus.devctl_disable shouldn't be writtable from inside a jail. 2004-05-26 16:36:32 +00:00
libkern Import libkern arm specific bits. 2004-05-14 12:28:31 +00:00
modules Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
net if_printf() won't emit a newline unless told to. 2004-05-26 11:41:26 +00:00
net80211 Link state change notification of ethernet media to the routing socket. 2004-05-05 15:48:06 +00:00
netatalk Remove redundant call to soisdisconnected() from ddp_abort(), as it 2004-05-05 03:34:37 +00:00
netatm These are changes to allow to use the Intel C/C++ compiler (lang/icc) 2004-03-12 21:45:33 +00:00
netgraph Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
netinet Add a super-user check to ipfw_ctl() to make sure that the calling 2004-05-25 15:02:12 +00:00
netinet6 Fix a bug which I discovered recently while doing IPv6 testing at 2004-05-14 03:57:17 +00:00
netipsec use correct address for SADB_EXT_ADDRESS_DST in key_do_allocsa_policy 2004-05-03 05:15:53 +00:00
netipx Rename dup_sockaddr() to sodupsockaddr() for consistency with other 2004-03-01 03:14:23 +00:00
netkey avoid duplicate free. 2004-01-25 17:18:12 +00:00
netnatm Rename dup_sockaddr() to sodupsockaddr() for consistency with other 2004-03-01 03:14:23 +00:00
netncp Make the process_exit eventhandler run without Giant. Add Giant hooks 2004-03-14 02:06:28 +00:00
netsmb Rename dup_sockaddr() to sodupsockaddr() for consistency with other 2004-03-01 03:14:23 +00:00
nfs Remove advertising clause from University of California Regent's 2004-04-07 05:00:01 +00:00
nfs4client Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
nfsclient Make vm_page's PG_ZERO flag immutable between the time of the page's 2004-05-06 05:03:23 +00:00
nfsserver The socket code upcalls into the NFS server using the so_upcall 2004-05-24 04:06:14 +00:00
opencrypto kthread_exit() no longer requires Giant, so don't force callers to acquire 2004-03-05 22:42:17 +00:00
pc98 MFi386: revision 1.1160. 2004-05-18 11:56:56 +00:00
pccard Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
pci Wrap the code to save/restore PCI config registers on suspend/resume in 2004-05-24 19:39:23 +00:00
posix4 The sem_timedwait() and ksem_timedwait() functions both 2004-02-03 22:27:03 +00:00
powerpc Retire cpu_sched_exit(); it is not used any more. 2004-05-26 12:09:39 +00:00
rpc Remove advertising clause from University of California Regent's 2004-04-07 05:00:01 +00:00
security Remove dead code. (This loop counted the number of rules, but the count 2004-05-15 20:55:19 +00:00
sparc64 Retire cpu_sched_exit(); it is not used any more. 2004-05-26 12:09:39 +00:00
sys Retire cpu_sched_exit(); it is not used any more. 2004-05-26 12:09:39 +00:00
tools devlist2h.awk is too generic a name for what it does. It really 2004-05-26 00:19:39 +00:00
ufs Upon further review it was decided this piece of the msync(2) 2004-05-21 12:05:48 +00:00
vm MFS: vm_map.c rev 1.187.2.27 through 1.187.2.29, fix MS_INVALIDATE 2004-05-25 18:40:53 +00:00
Makefile Try harder not to compile anything in sys/boot for arm. 2004-05-16 00:19:12 +00:00