freebsd-nq/sys/dev
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
..
aac Unbreak the build. 2004-05-13 19:15:21 +00:00
acpi_support Enable the led-toggling magic. Compiling files which are in the kernel into 2004-04-23 17:41:05 +00:00
acpica Enable GPE at runtime rather than suspend time. This is to match the 2004-05-25 16:17:39 +00:00
adlink Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
advansys Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
agp Use __FBSDID. 2004-05-23 10:57:11 +00:00
aha Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
ahb Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
aic Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
aic7xxx aic79xx.c: 2004-05-11 20:46:05 +00:00
amd Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
amr Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
an Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
ar Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
arl We don't need to initialize if_output, ether_ifattach() does it 2004-05-23 16:11:53 +00:00
asr Update the version history in the driver to note everything that has happened 2004-05-05 14:19:43 +00:00
ata Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
ath use correct malloc type to allocate struct ieee80211_node's 2004-04-05 04:42:42 +00:00
atkbdc Don't check for device_get_softc() returning NULL, it can't happen. 2004-04-17 10:25:04 +00:00
awi Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
bfe Set the IFCAP_VLAN_MTU bit in capenable as well. 2004-05-25 11:33:19 +00:00
bge Add support for BCM5705K 2004-05-24 04:46:54 +00:00
bktr Unbreak build if 2004-05-26 20:18:58 +00:00
buslogic Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
cardbus Add note about why we're ignoring the below 1MB bit. 2004-04-11 19:22:25 +00:00
ciss Turn SCSI pre-fetch ON. This is mainly for 64XX and 64X based 2004-05-17 17:27:38 +00:00
cm Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
cnw We don't need to initialize if_output, ether_ifattach() does it 2004-05-23 16:11:53 +00:00
cp Use PCI_BAR() rather than PCIR_MAPS. 2004-05-24 19:39:56 +00:00
cs Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
ct Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
ctau Use better way of closing fr support before current sppp get it. 2004-05-07 11:59:54 +00:00
cx Use better way of closing fr support before current sppp doesn't have it. 2004-05-07 11:45:25 +00:00
cy Remove "register_t eflags; eflags = read_eflags();" because 1) it wasn't 2004-05-16 21:22:45 +00:00
dc A handler for ioctl(SIOCSIFCAP) should not alter a bit in 2004-05-23 21:05:08 +00:00
dcons Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
de Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
dec Use __FBSDID(). 2003-08-24 17:55:58 +00:00
digi Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
dpt Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
drm Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
ed Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
eisa Use __FBSDID(). 2003-08-24 17:55:58 +00:00
em We don't need to initialize if_output, ether_ifattach() does it 2004-05-23 16:11:53 +00:00
en Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
ep Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
ex Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
exca Card type stuff was backwards, so assume io for the moment. mem needs 2003-10-07 04:29:04 +00:00
fatm Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
fb Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
fdc Update to reflect new location in the tree. This has been repo copied 2004-05-17 05:42:04 +00:00
fe Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
firewire Don't try to copy out the result payload if there isn't one. This ioctl 2004-05-23 18:43:44 +00:00
fxp Teach fxp(4) to control VLAN_MTU in the hardware. 2004-05-25 14:49:46 +00:00
gem We don't need to initialize if_output, ether_ifattach() does it 2004-05-23 16:11:53 +00:00
gfb Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
gx We don't need to initialize if_output, ether_ifattach() does it 2004-05-23 16:11:53 +00:00
harp Make sure that the first mbuf in the chain passed to atm_intr 2004-02-21 13:01:54 +00:00
hatm Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
hfa Delete an unused file which no longer compiles anyway. 2004-04-20 15:33:24 +00:00
hifn Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
hme Mark the VLAN_MTU capability as initially enabled since it's 2004-05-23 19:21:48 +00:00
ic Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
ichsmb Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
ichwd Remove some debugging printf()s and a pointless device_set_desc() call. 2004-05-15 00:07:23 +00:00
ida Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
idt Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
ie Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
if_ndis Restore source code compatibility with 5.2-RELEASE. 2004-05-12 15:58:42 +00:00
iicbus Another candidate that didn't use copyin/copyout for user<->kernel 2004-05-16 21:19:59 +00:00
iir Update from vendor. This also adds support for newer management tools. 2004-05-19 17:46:34 +00:00
ips Fix typo in the device id for the new cards. 2004-03-27 15:56:34 +00:00
isp Store the target handles in a separate list from normal commands. Add a 2004-05-24 07:02:25 +00:00
ispfw Fix $FreeBSD$. 2004-03-21 18:16:49 +00:00
joy Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
kbd style(9): return foo -> return (foo) 2004-04-02 16:41:16 +00:00
led - Remove the __FBSDID and put the $FreeBSD$ tag in the comment above, 2004-05-10 11:50:21 +00:00
lge We don't need to initialize if_output, ether_ifattach() does it 2004-05-23 16:11:53 +00:00
lnc We don't need to initialize if_output, ether_ifattach() does it 2004-05-23 16:11:53 +00:00
matcd Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
mc146818
mca Use __FBSDID(). 2003-08-24 17:55:58 +00:00
mcd Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
md Fix panic which occurs when given sector size for memory-backed device 2004-05-18 07:30:04 +00:00
mii Link state change notification of ethernet media to the routing socket. 2004-05-03 13:48:35 +00:00
mk48txx Use __FBSDID(). 2003-08-24 17:55:58 +00:00
mlx Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
mly Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
mpt Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
mse Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
musycc Use NG_NODESIZ instead of (NG_NODELEN + 1) 2004-05-24 20:45:53 +00:00
my We don't need to initialize if_output, ether_ifattach() does it 2004-05-23 16:11:53 +00:00
ncv Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
nge A handler for ioctl(SIOCSIFCAP) should not alter a bit in 2004-05-23 21:05:08 +00:00
nmdm Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
nsp Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
null Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
ofw - Rearrange a comment to fit in 80 chars per line, like the rest of this 2004-05-22 16:45:19 +00:00
owi Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
patm Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
pccard Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
pccbb When attaching pccard and cardbus children, there's no need to set the 2004-05-21 06:11:47 +00:00
pcf Round #1 of improving pcf(4). 2004-05-25 07:42:45 +00:00
pci Use PCI_BAR() in preference to PCI_MAPS + x * 4. 2004-05-24 17:41:05 +00:00
pcic Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
pdq Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
ppbus Prevent the strange situation that after each load/unload of a ppbus 2004-03-18 21:10:11 +00:00
ppc Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
pst Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
puc Add description of Cronyx Omega2-PCI (8x port serial adapter). 2004-05-17 12:57:30 +00:00
random Add a Davies-Meyer style hash to the output. This is still pure 2004-04-17 19:26:53 +00:00
ray We don't need to initialize if_output, ether_ifattach() does it 2004-05-23 16:11:53 +00:00
rc Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
re Wrap the code to save/restore PCI config registers on suspend/resume in 2004-05-24 19:39:23 +00:00
rndtest Use __FBSDID(). 2003-08-24 17:55:58 +00:00
rp Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
sab Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
safe Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
sbni We don't need to initialize if_output, ether_ifattach() does it 2004-05-23 16:11:53 +00:00
sbsh We don't need to initialize if_output, ether_ifattach() does it 2004-05-23 16:11:53 +00:00
scd Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
sf Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
si Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
sio Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
sk Replace the lame big endian crc with wpaul's standard big endian crc 2004-05-19 02:16:46 +00:00
smbus Fix various style(9) bugs. This includes the removal of wrong 2004-05-17 18:55:45 +00:00
sn Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
snc We don't need to initialize if_output, ether_ifattach() does it 2004-05-23 16:11:53 +00:00
snp Add clone_setup() function rather than rely on lazy initialization. 2004-03-11 12:58:55 +00:00
sound Remove extraneous spaces. 2004-05-13 11:33:44 +00:00
speaker Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
sr Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
stg Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
streams Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
sx Prefer uint16_t to ushort. 2004-04-14 02:20:01 +00:00
sym Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
syscons Rearrangements needed for syscons(4) to be used as a console device 2004-04-02 15:02:44 +00:00
tdfx Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
tga Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
ti Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
trm Call trm_Interrupt() in trm_poll(). This fixes the lock at reboot time some 2004-04-10 15:38:49 +00:00
twa Undid scottl's recent changes. 2004-05-17 17:16:58 +00:00
twe 1. Fixed potential problem that would cause out-of-order requests in twe_startio. 2004-05-12 04:10:37 +00:00
tx Mark the VLAN_MTU capability as initially enabled since it's 2004-05-23 19:21:48 +00:00
txp We don't need to initialize if_output, ether_ifattach() does it 2004-05-23 16:11:53 +00:00
uart It seems that clearing the MCR_IE bit in the modem control register 2004-05-26 21:59:01 +00:00
ubsec Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
usb Update URL to HID spec. 2004-05-23 17:09:07 +00:00
utopia kthread_exit() no longer requires Giant, so don't force callers to acquire 2004-03-05 22:42:17 +00:00
vinum Plug a mem leak in vinum_scandisk(). 2004-04-24 23:41:21 +00:00
vr Implemented per-interface polling(4) control. 2004-04-11 15:18:09 +00:00
vx We don't need to initialize if_output, ether_ifattach() does it 2004-05-23 16:11:53 +00:00
watchdog Add a generic watchdog facility which through a single device entry 2004-02-28 20:06:59 +00:00
wds Use __FBSDID(). 2003-08-24 17:55:58 +00:00
wi Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
wl We don't need to initialize if_output, ether_ifattach() does it 2004-05-23 16:11:53 +00:00
xe Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
zs Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00