freebsd-nq/sys/dev
John Baldwin f088002825 The nvidia binary blob sometimes defers tx completion notification to the
OS dependent layer.  Thus, the watchdog timer can go off when the tx
engine is working fine but the OS dependent layer just hasn't been called
to cleanup finished tx transactions.  To workaround this, when the watchdog
fires, poke the binary blob to force it to flush any pending tx
completions.  If this drops the pending tx count to zero then just return
without logging a message or resetting the chip.

This reportedly fixes the 'device timeout()' errors with at least several
NF4 nve(4) parts.

Submitted by:	Nathan Alexander Whitehorn <nathanw@uchicago.edu> (code)
Submitted by:	dg (inspiration for comment and explanation)
MFC after:	1 week
2006-04-28 20:08:16 +00:00
..
aac Rearrange locking in the alloc_commands and ioctl paths to avoid problems. 2006-04-08 06:05:29 +00:00
acpi_support Add support for Asus W5A laptops. 2006-04-09 15:22:25 +00:00
acpica Remove unnecessary assignment. 2006-04-21 19:06:29 +00:00
adlink Use the new bus_space/resource convenience functions. 2005-09-24 20:46:02 +00:00
advansys Type of overrun_buf doesn't matter to this code, but does to gcc. 2006-02-04 22:33:08 +00:00
agp Add support for the Intel E7205 chipset. 2006-02-17 01:40:46 +00:00
aha Add explicit dependency on cam. This is necessary when both aha.ko and 2006-03-24 06:33:25 +00:00
ahb
aic Eliminate support for oldcard by removing the compat shims. 2005-09-20 19:45:08 +00:00
aic7xxx Clean up the way we handle auxiliary commands for a given ddb command 2006-03-07 22:17:06 +00:00
amd
amr Reduce the Linux ioctl range to what is needed. I didn't know what 2006-04-14 16:13:28 +00:00
an Silence the strict-alias warnings. Make a trip through (void *) when 2006-02-04 22:51:03 +00:00
ar - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
arcmsr Fix -Wundef. 2005-12-04 02:12:43 +00:00
arl - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
asr Give the asr softc list global a proper name. 2006-02-12 06:57:41 +00:00
ata Add missing ";" 2006-04-17 10:47:01 +00:00
ath intercept public safety channels and do explicit mapping of freq->ieee 2006-04-26 16:02:36 +00:00
atkbdc Use the same method for detecting actual presence of AT-style keyboard 2006-04-26 06:05:16 +00:00
auxio - Only touch the LED bit of the (LED) AUXIO register when turning the 2006-01-26 19:04:18 +00:00
awi Remove support for oldcard by removing compat shims. 2005-09-20 19:46:54 +00:00
bce Only use the low address for stats collection. 2006-04-26 16:33:58 +00:00
bfe Tweak the DMA limit from rev 1.33, it was off by one byte. 2006-04-28 05:38:12 +00:00
bge If one removes the option from conf/options, one should 2006-04-25 17:54:42 +00:00
bktr if we are compiling with smbus support, properly depend upon the iic and 2006-01-27 08:42:48 +00:00
buslogic
cardbus Make the 'pci_devclass' pointer variable private (drivers really shouldn't 2006-01-20 22:00:50 +00:00
ce Update low-level code. (to version 1.4) 2006-03-01 09:50:20 +00:00
ciss Free another memory leak when dealing with disk notification. 2006-04-20 03:05:02 +00:00
cm Make sure that we call if_free(ifp) after bus_teardown_intr. Since we 2005-09-19 03:10:21 +00:00
cnw Make sure that we call if_free(ifp) after bus_teardown_intr. Since we 2005-09-19 03:10:21 +00:00
cp trim trailing ^I 2005-12-17 07:09:17 +00:00
cpufreq
cs Fix multicast support for cs89x0 chips. Just setting the RX_MULTCAST_ACCEPT 2006-03-10 23:50:53 +00:00
ct
ctau Backout if_cp 1.26, if_ct 1.27, if_cx 1.47 by obrien: 2005-09-27 16:12:49 +00:00
cx - Use swi_remove() to teardown swi handlers rather than 2005-10-26 15:52:16 +00:00
cy Catch up with new interrupt handling code. 2005-10-26 06:44:59 +00:00
dc Add device-id for the Neteasy DRP-32TXD cardbus 10/100 card. It's another 2006-03-16 20:00:39 +00:00
dcons Use ttyalloc() instead of ttymalloc() 2006-01-04 09:20:41 +00:00
de Repo copy de driver to dev/de, and adjust. 2006-02-26 17:52:04 +00:00
dec
digi Eliminate two unused arguments to ttycreate(). 2005-10-16 20:22:56 +00:00
dpt
drm Reorder the DRM_*_AGP enums to match linux and what our code expects, fixing 2006-04-18 06:14:43 +00:00
ed Initialize the port_bst and port_bsh variables. 2006-02-21 12:01:39 +00:00
eisa Make the eisa probe messages just like all the others in the system. 2005-08-01 07:09:15 +00:00
em Bring back arm-specific workaround from rev 1.15: 2006-04-13 15:10:25 +00:00
en Subtracting two pointers produces a ptrdiff_t not a size_t so use 2006-03-21 15:00:10 +00:00
ep Remove ifdef notdef SIOCHWADDR vestige. 2006-02-04 08:16:07 +00:00
esp Fix -Wundef from compiling the amd64 LINT. 2005-12-04 10:06:06 +00:00
ex Remove ifdef notyet SIOCGHWADDR vestige. 2006-02-04 08:16:41 +00:00
exca Don't dereference an uninitialized pointer. 2006-03-09 16:28:24 +00:00
fatm This driver has been MPSAFE from the beginning so declare the interrupt 2006-03-21 14:56:42 +00:00
fb Fix -Wundef warnings from compiling GENERIC and LINT kernels of 2005-12-06 11:19:37 +00:00
fdc - Use callout_init_mtx() to initialize toffhandle callout using the fdc's 2006-02-23 19:11:16 +00:00
fe Return 0 if we are a network card and do match. Previously, we'd bogusly 2005-11-19 23:26:57 +00:00
firewire Don't type pun accidentally. Instead, be explicit that we're type 2006-02-04 21:37:39 +00:00
fxp Whitespace fix 2006-04-14 17:26:04 +00:00
gem Fix -Wundef warnings found when compiling i386 LINT, GENERIC and 2005-12-05 11:58:35 +00:00
gfb
harp Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
hatm Replace m_extadd() with macro version MEXTADD(). 2005-09-19 22:04:41 +00:00
hfa Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
hifn These registers are saved by pci bus code. Remove from #if 0'd code anyway 2005-06-05 22:57:32 +00:00
hme Backout rev. 1.46. It caused Rx checksum offload breakage on little 2006-03-21 12:21:51 +00:00
hptmv Fix -Wundef. 2005-12-04 02:12:43 +00:00
hwpmc Change msleep() and tsleep() to not alter the calling thread's priority 2006-04-17 18:20:38 +00:00
ic MFp4: 2006-02-24 02:03:35 +00:00
ichsmb This signal handling code is worse than a no-op. If a 2006-01-03 17:01:43 +00:00
ichwd Re-work the bus attachment somewhat. Make the rids unique for 2006-02-17 18:46:18 +00:00
ida
idt Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
ie Fix -Wundef warnings found when compiling i386 LINT, GENERIC and 2005-12-05 11:58:35 +00:00
ieee488 Don't be noisy in case of shared interrupts. 2006-03-11 15:39:22 +00:00
if_ndis When ndis_attach() runs, it has to very briefly initialize the card 2006-02-04 19:42:49 +00:00
iicbus remove DRIVER_MODULE lines that are useless... pcf doesn't exist (only 2006-04-17 22:33:42 +00:00
iir Big update to the iir driver: 2006-03-01 07:24:39 +00:00
io
ipmi Don't conflict with the DEBUG define. 2006-02-13 16:50:45 +00:00
ips Shuffle some definitions so that this can be included from userland. 2006-01-03 23:03:39 +00:00
ipw Don't read channel list from EEPROM since we were already scanning all 2006-03-13 20:05:32 +00:00
isp Redo some code based upon issues found by Coverity. 2006-04-21 18:46:35 +00:00
ispfw Update 2300 f/w. This will probably be the last 2006-04-18 21:55:30 +00:00
iwi MFp4: reworked iwi-driver 2006-04-27 21:43:37 +00:00
ixgb - Fix VLAN_INPUT_TAG() macro, so that it doesn't touch mtag in 2005-12-18 18:24:27 +00:00
joy Unbreak second joystick (joy1) support. 2005-11-09 20:26:00 +00:00
kbd Integrate kbdmux(4) into syscons(4) and kbd code. 2006-02-28 23:46:23 +00:00
kbdmux Fix endian bugs accessing ioctl arguments that are passed by value. 2006-03-03 00:46:28 +00:00
le - In the interrupt handler clear the interrupt source flags before 2006-02-21 20:20:43 +00:00
led
lge Do not touch ifp->if_baudrate in miibus aware drivers. 2006-02-14 12:44:56 +00:00
lmc Fix -Wundef warnings found when compiling i386 LINT, GENERIC and 2005-12-05 11:58:35 +00:00
lnc Really fix it this time. 2005-11-12 19:14:21 +00:00
mc146818
mca
mcd
md - Conditionally acquire Giant in mdstart_vnode(), mdcreate_vnode(), and 2006-03-28 21:25:11 +00:00
mem
mfi Fix some small bugs. 2006-04-10 06:44:30 +00:00
mii Fix the PHY support for the 5780. I mis-merged this from my sources. 2006-04-12 18:34:00 +00:00
mk48txx
mlx Add missing parenthesis around error handling code upon attaching 2005-07-30 15:53:40 +00:00
mly Retire the last of the FreeBSD 4.x compat code from the mly driver. 2005-08-08 12:23:27 +00:00
mpt Change some order of the way we do some target mode ops. 2006-04-21 18:31:21 +00:00
mse - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
mxge 10GbE mode driver and binary firmware for Myricom's PCI-express NICs. 2006-02-19 22:39:19 +00:00
my Fix -Wundef from compiling the amd64 LINT. 2005-12-04 10:06:06 +00:00
myri10ge 10GbE mode driver and binary firmware for Myricom's PCI-express NICs. 2006-02-19 22:39:19 +00:00
ncv Remove OLDCARD support by removing compat shims 2005-09-20 19:54:11 +00:00
nge Do not touch ifp->if_baudrate in miibus aware drivers. 2006-02-14 12:44:56 +00:00
nmdm Use ttyalloc() instead of ttymalloc() 2006-01-04 08:34:23 +00:00
nsp Remove OLDCARD support by removing compat shims 2005-09-20 19:54:11 +00:00
null
nve The nvidia binary blob sometimes defers tx completion notification to the 2006-04-28 20:08:16 +00:00
ofw - Add a new method ofw_bus_default_get_devinfo() that allows to retrieve 2005-11-22 16:37:45 +00:00
patm This driver has been MPSAFE from the beginning, so declare the interrupt 2006-03-21 14:54:42 +00:00
pbio
pccard When pccard_safe_quote is passed NULL for src, it shouldn't panic. 2006-04-27 20:47:13 +00:00
pccbb Add missing ~. We want all the INVALID bits to be 0... Let's see if this 2006-04-16 23:16:45 +00:00
pcf - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
pci The size of I/O ranges can be anything from 16 bytes to 2G bytes. 2006-04-27 04:53:18 +00:00
pdq - Make IFP2ENADDR() a pointer to IF_LLADDR() rather than another 2005-11-11 07:36:14 +00:00
ppbus Import ACPI Dock Station support. Note that this is still very young. 2006-04-15 12:31:34 +00:00
ppc o Use __FBSDID 2006-04-26 21:25:13 +00:00
pst
puc When we attach to either a SAB82532 or a Z8530, print a notice 2006-03-30 18:43:03 +00:00
ral o fixes the locking of if_init(). 2006-03-21 21:15:43 +00:00
random Change msleep() and tsleep() to not alter the calling thread's priority 2006-04-17 18:20:38 +00:00
ray - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
rc - Use swi_remove() to teardown swi handlers rather than 2005-10-26 15:52:16 +00:00
re Add support for RTL8111B chip, that can be found on some mainboards, 2006-03-22 07:33:03 +00:00
rndtest
rp The UPCI 32 rp(4) card uses BAR 2 like the UPCI 80 card. 2006-01-25 14:55:11 +00:00
rr232x Add the 'rr232x' driver for the HighPoint RocketRAID 2320 series of cards. 2006-04-27 20:22:46 +00:00
safe safe(4) doesn't support explicitly provided keys. Return an error instead 2006-04-10 18:49:46 +00:00
sbni - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
sbsh Make sure that we call if_free(ifp) after bus_teardown_intr. Since we 2005-09-19 03:10:21 +00:00
scc The Z8530 on the MacIO has an interrupt per channel. Deal with this 2006-04-04 17:33:08 +00:00
scd
sf Do not touch ifp->if_baudrate in miibus aware drivers. 2006-02-14 12:44:56 +00:00
si - Update copyright years from the Specialix SDK. 2006-01-06 20:17:48 +00:00
sio - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
sk Add some incomplete support for Marvell Yukon EC controllers based on 2006-04-28 03:17:37 +00:00
smbus Drivers for AMD-8111 and NVIDIA nForce2/3/4 SMBus 2.0 controllers. 2005-12-21 15:49:51 +00:00
sn Fix mismerge after last cvs update for the IFQ_DRV_DEQUEUE changes. 2006-02-04 08:19:00 +00:00
snc Fix -Wundef warnings from compiling GENERIC and LINT kernels of 2005-12-06 11:19:37 +00:00
snp Restore the ability to detach from a tty via SIOCSTTY and document 2005-09-19 13:48:45 +00:00
sound Add support for (latest) VIA VT8251 (rev. 0x07) audio controller. 2006-04-22 09:44:00 +00:00
speaker Add /dev/speaker support to amd64. 2005-11-11 09:57:32 +00:00
sr - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
stg Remove OLDCARD shims 2005-09-21 22:45:14 +00:00
streams
sym FreeBSD has had endian conversion macros for a long time. Axe the custom 2005-12-05 22:37:37 +00:00
syscons Integrate kbdmux(4) into syscons(4) and kbd code. 2006-02-28 23:46:23 +00:00
tdfx Take the functionality contained in the former "options TDFX_LINUX" 2006-03-03 21:37:38 +00:00
tga
ti - Tx side bus_dmamap_load_mbuf_sg(9) support. This reduces bookkeeping 2006-01-03 06:14:07 +00:00
trm
twa twa corresponding to the 9.3.0.1 release on the 3ware website. This driver has 2005-11-08 22:51:43 +00:00
twe Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
tx Do not touch ifp->if_baudrate in miibus aware drivers. 2006-02-14 12:44:56 +00:00
txp - Fix VLAN_INPUT_TAG() macro, so that it doesn't touch mtag in 2005-12-18 18:24:27 +00:00
uart Implement the ipend() method of the serdev I/F. 2006-04-28 18:29:23 +00:00
ubsec ubsec(4) doesn't support explicitly provided keys. Return an error instead 2006-04-10 18:37:46 +00:00
usb Don't use ", but instead use ' instead. I suppose I could have also 2006-04-27 17:33:25 +00:00
utopia Struct ifatm isn't at the beginning of the softc anymore. Use the 2005-06-22 06:51:52 +00:00
vge Do not touch ifp->if_baudrate in miibus aware drivers. 2006-02-14 12:44:56 +00:00
vkbd Disable custom locking in the vkbd(4) for now and make it rely on the 2006-02-27 06:17:48 +00:00
vr Do not touch ifp->if_baudrate in miibus aware drivers. 2006-02-14 12:44:56 +00:00
vx - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
watchdog Return zero when disabling watchdog, unless any of the drivers complain. 2005-09-29 12:31:44 +00:00
wds
wi - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
wl - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
xe o Fix printf(9) formatting: do not use hardcode "0x" and "#" flags 2006-04-15 11:41:40 +00:00
zs - Use swi_remove() to teardown swi handlers rather than 2005-10-26 15:52:16 +00:00