freebsd-dev/sys/dev
Ian Dowse 947e381597 Properly fix the occassional random crash issue that revision 1.142
just limited to the DEVICE_POLLING case. This removes the FXP_RFA_RNRMARK
hack, and replaces it with a softc flag that is used to record when
the handling of a no-resource condition was deferred due to running
out of DEVICE_POLLING cycles. This was tested on -stable, but the
code is essentially the same as in -current. It should only affect
the case where DEVICE_POLLING is defined.

The details of the mechanism behind the crashes are still uncertain
but the most likely cause seems to be some kind of hardware confusion
when the no-resource recovery code is accidentally invoked while
the receiver is still active. This could have happened if the
hardware left the 0x4000 bit of the RFA status word set. The comments
in the commit log for revision 1.142 stating that the driver could
clash with the hardware writing to this status word were not correct.

Tested by:	Guy Helmer <ghelmer@palisadesys.com>
2002-11-07 16:04:07 +00:00
..
aac Fix mis-indentation. 2002-10-20 16:00:43 +00:00
acpica Add status initialization code for acpi_cmbat and acpi_acad, 2002-11-03 10:49:24 +00:00
advansys Change BUS_SPACE_UNRESTRICTED (~0ul) to plain ~0 when used in the 2002-10-09 08:50:26 +00:00
agp Fix previous commit: Don't cast integral types to pointers to 2002-10-15 01:50:09 +00:00
aha Fix build on alpha. It used to case an int to a pointer in order to do 2002-10-09 09:30:57 +00:00
ahb Fix new gcc-3.1 warnings. I think this gets GENERIC compiling cleanly 2002-05-24 05:21:36 +00:00
aic Be consistent about "static" functions: if the function is marked 2002-09-28 17:15:38 +00:00
aic7xxx Never allow memory mapped I/O in PCI-X mode on controllers that 2002-10-16 02:59:03 +00:00
amd Be consistent about functions being static. 2002-10-16 09:04:52 +00:00
amr Incorrect typecast. 2002-10-31 14:10:00 +00:00
an Fix warning where sizeof(size_t) != sizeof(int). 2002-11-06 18:55:24 +00:00
ar Use if_printf(ifp, "blah") instead of printf("ar%d: blah", ifp->if_unit). 2002-10-01 00:42:51 +00:00
asr Use a bandaid to fix a warning. However, this driver is very, very far 2002-11-06 19:42:59 +00:00
ata Use some long long casts to quiet warnings in debug printf's on alpha. 2002-11-06 19:52:13 +00:00
atkbdc Include "opt_kbd.h" since certain structures size depend on the value 2002-10-15 21:35:01 +00:00
awi Repeat after me: sizeof(int) != sizeof(void *). 2002-11-06 20:04:41 +00:00
bge Fix the code so that it no longer on alpha refers to the now nonexistent 2002-10-11 17:18:54 +00:00
bktr More int != pointer stuff. 2002-11-06 20:16:39 +00:00
buslogic Add some band-aid casts to quiet warnings. This driver still assumes 2002-11-06 20:34:38 +00:00
cardbus Use the explicit value 0xffffffff instead of assuming that is what ~0UL 2002-11-06 20:40:29 +00:00
ccd - Use vrefcnt() instead of v_usecount. 2002-09-25 02:42:43 +00:00
ciss Fix a bunch of warnings on 64 bit platforms in the 2002-10-27 12:27:04 +00:00
cm Use if_printf(ifp, "blah") instead of 2002-10-01 00:44:31 +00:00
cnw Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
cs Use if_printf(ifp, "blah") instead of 2002-10-01 00:46:41 +00:00
ct This file does not <sys/disklabel.h> 2002-09-20 18:15:40 +00:00
cy Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
dc Be consistent about functions being static. 2002-10-16 09:04:52 +00:00
de Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
dec Introduce a boot environment variable (clock_compat_osf1) which can 2001-11-03 17:22:50 +00:00
dgb Be consistent about "static" functions: if the function is marked 2002-09-28 17:15:38 +00:00
digi Be consistent about "static" functions: if the function is marked 2002-09-28 17:15:38 +00:00
dpt Use bus_addr_t instead of u_int32_t in functions to convert between 2002-11-06 21:19:17 +00:00
drm In an SMP environment post-Giant it is no longer safe to blindly 2002-10-03 02:13:00 +00:00
ed add some devices from NetBSD 2002-10-11 07:03:09 +00:00
eisa Add tunable "hw.eisa_slots" to allow overriding the default number 2002-10-31 00:45:49 +00:00
em Corrected license in the source files. It should say "MUST" instead of "MAY". 2002-09-24 16:27:59 +00:00
en Rename "struct device" to "struct midway_device" to avoid clashing 2002-09-28 21:59:59 +00:00
ep Fix build breakage on my pccard related commit. 2002-05-31 01:08:49 +00:00
ex Remove __P. 2002-03-20 02:08:01 +00:00
exca Update comments to remind me about power bugs in oldcard. 2002-10-07 06:18:50 +00:00
fb Fix rare and probably inconsequential memory leak. 2002-10-02 20:34:23 +00:00
fdc Fix a probably rare and inconsequential memory leak. 2002-10-02 20:29:54 +00:00
fe Use if_printf(ifp, "blah") instead of printf("fe%d: blah", ifp->if_unit). 2002-10-01 00:52:58 +00:00
firewire - Fix printf warnings on 64bit plathome. 2002-11-07 02:13:40 +00:00
fxp Properly fix the occassional random crash issue that revision 1.142 2002-11-07 16:04:07 +00:00
gem Call bpf_mtap() on outgoing packets. 2002-10-26 12:32:07 +00:00
gfb Turn on TGA support. 2002-04-13 22:34:16 +00:00
gx Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
hea Adjust some casts to quiet warnings. 2002-11-06 22:58:55 +00:00
hfa Adjust some casts to quiet warnings. 2002-11-06 22:58:55 +00:00
hifn whitespace/indentation fix from phk 2002-10-16 17:07:41 +00:00
hme Call bpf_mtap() on output, to catch outgoing packets for e.g. tcpdump . 2002-07-30 21:47:14 +00:00
ic Move the com_scr register address definition over with the other seven. 2002-09-22 08:51:31 +00:00
ichsmb typo. 2002-10-18 12:06:01 +00:00
ida Cast a bus_addr_t to a long long to make printf happy. 2002-11-06 22:40:01 +00:00
idt Use more standard variable names for modevent functions. 2002-10-02 04:47:52 +00:00
ie Be consistent about "static" functions: if the function is marked 2002-09-28 17:15:38 +00:00
iicbus Fix misindentation. 2002-10-16 08:45:34 +00:00
iir Use long long to print out a bus_addr_t again. 2002-11-06 22:42:45 +00:00
isp LINT related fixes (as noticed by bde) 2002-10-14 22:13:51 +00:00
ispfw Know that a 10160 is the same as a 12160. 2002-10-12 00:12:31 +00:00
joy Fix typo in the BSD copyright: s/withough/without/ 2002-06-02 20:05:59 +00:00
kbd Include "opt_kbd.h" since certain structures size depend on the value 2002-10-15 21:35:01 +00:00
lge Be consistent about "static" functions: if the function is marked 2002-09-28 17:15:38 +00:00
lmc Remove #include <pci.h> - there is no abuse of NPCI here 2002-07-21 05:16:14 +00:00
lnc Fix mis-indentation. 2002-10-02 09:09:25 +00:00
mc146818
mca Argh, isa(4), eisa(4) and mca(4) now attach to legacy(4) instead of 2002-09-26 18:40:06 +00:00
mcd Whitespace, style fixes. 2002-11-06 08:08:55 +00:00
md We want /dev/md0 for ramdisk roots, not /dev/md0c. 2002-10-21 20:08:28 +00:00
mii Remove unnecessary <sys/malloc.h> include. 2002-10-29 00:20:47 +00:00
mk48txx Add a driver back end for the Mostek MK48T02, MK48T08 and MK48T59 2002-04-04 23:44:42 +00:00
mlx use __packed. 2002-09-23 18:54:32 +00:00
mly Be consistent about functions being static. 2002-10-16 08:48:39 +00:00
mpt Be consistent about functions being static. 2002-10-16 08:48:39 +00:00
mse Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-23 16:01:49 +00:00
musycc Fix warnings: 2001-06-15 00:19:43 +00:00
my Add missing unlock 2002-05-30 23:41:51 +00:00
ncv Remove #include of <sys/disklabel.h> (and a few other unused #includes I 2002-09-20 16:49:36 +00:00
nge Add support for DEVICE_POLLING. 2002-11-06 15:50:32 +00:00
nmdm Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
nsp Remove unused #includes. Looks amacingly like the exact same set 2002-09-20 16:51:09 +00:00
null Everywhere else, an argument passed to a device containing flags 2002-09-21 17:28:17 +00:00
ofw Add a pseudo device which allows to access the OpenFirmware device tree 2002-10-18 15:23:43 +00:00
pccard MFp4: 2002-11-02 23:00:28 +00:00
pccbb Detach the pccard bus children when we eject a 16-bit card, not the 2002-11-04 03:01:56 +00:00
pcf Fix bktr and pcf compilation with LINT 2002-03-25 21:22:35 +00:00
pci Save and restore the interrupt Edge/Level Control Registers (ELCR) 2002-10-30 19:55:06 +00:00
pcic Some kernel threads try to do significant work, and the default KSTACK_PAGES 2002-10-02 07:44:29 +00:00
pdq Fix mis-indentation. 2002-10-20 08:46:56 +00:00
ppbus Remove empty #if*/#endif clauses. 2002-09-21 08:44:51 +00:00
ppc Restore the original copyright 2002-03-23 15:36:13 +00:00
pst Fix so it compiles with the new disklabel stuff. 2002-09-27 21:56:35 +00:00
puc Add "missing scratch-pad register" to the first of the two ports 2002-09-27 22:02:46 +00:00
raidframe Reduce namespace pollution to userland. 2002-10-28 17:08:07 +00:00
random Some kernel threads try to do significant work, and the default KSTACK_PAGES 2002-10-02 07:44:29 +00:00
ray s/__attribute__((__packed__))/__packed/g 2002-09-23 06:25:08 +00:00
rc Cast si_drv2 to intptr_t instead of int to quiet warnings. 2002-10-25 20:49:24 +00:00
rp Fix data corruption caused by last byte in oddly sized transfers being read 2002-10-20 18:43:11 +00:00
sab Make this driver work a whole lot better. 2002-09-08 04:45:16 +00:00
sbni Use if_printf() instead of printf() to print "sbni#: blah". 2002-10-01 00:55:22 +00:00
scd Whitespace, style fixes. 2002-11-06 08:08:55 +00:00
sf Be consistent about functions being static. 2002-10-16 09:14:59 +00:00
si Be consistent about functions being static. 2002-10-16 08:48:39 +00:00
sio s/modunload/kldunload 2002-10-11 20:22:20 +00:00
sk style: 2002-08-23 23:49:02 +00:00
smbus Cleanup of amdpm(4). 2002-09-21 21:43:49 +00:00
sn Use if_printf(ifp, "blah") instead of printf("sn%d: blah", ifp->if_unit). 2002-10-01 00:56:39 +00:00
snc Remove __P. 2002-03-20 02:08:01 +00:00
snp Treat input on the snp device as an `unsigned char'. According to the 2002-04-10 03:51:49 +00:00
sound Packed structures are defined differently in older gcc's, like the one 2002-11-06 21:37:21 +00:00
speaker Merge PC98 changes. 2002-11-02 04:18:10 +00:00
sr Use if_printf(ifp, "blah") instead of printf("sr%d: blah", ifp->if_unit). 2002-10-01 00:58:16 +00:00
stg Remove even more Copy&Pasted sets of #includes. 2002-09-20 16:53:19 +00:00
streams Remove __P. 2002-03-20 02:08:01 +00:00
sym Be consistent about functions being static. 2002-10-16 08:48:39 +00:00
syscons Do not try to work around ``poor (un)sign extension code'' 2002-10-20 22:50:13 +00:00
tdfx Disabuse this driver of the notion that it needs to include 2002-09-28 20:56:32 +00:00
tga Add the TGA video driver. This is a great accomplishtment and will help 2001-11-01 08:26:30 +00:00
ti Be consistent about functions being static. 2002-10-16 09:04:52 +00:00
trm Import of the trm(4) driver (for Tekram DC395U/UW/F and DC315U SCSI adapters). 2002-10-13 18:32:39 +00:00
twe Be consistent about functions being static. 2002-10-16 08:48:39 +00:00
tx o m_adj rx buffer so IP header is 32-bit aligned 2002-10-25 22:06:03 +00:00
txp Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
ubsec Module-ize the 'core' crypto stuff. This may still need to be compiled 2002-10-16 14:31:34 +00:00
usb Packed structures are defined differently in older gcc's, like the one 2002-11-06 21:37:21 +00:00
vinum Get Vinum up and running with GEOM: 2002-10-05 03:44:00 +00:00
vr Be consistent about functions being static. 2002-10-16 09:14:59 +00:00
vx Fix mis-indentation. 2002-10-02 09:09:25 +00:00
wds Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
wi Be consistent about functions being static. 2002-10-16 08:48:39 +00:00
wl Fix typo in the BSD copyright: s/withough/without/ 2002-06-02 20:05:59 +00:00
xe Use if_printf(ifp, "foo") instead of printf("xe%d: foo", ifp->it_unit). 2002-10-01 01:03:02 +00:00