freebsd-dev/sys
Mike Silbersack 000c679b3c Enhance the use of the watchdog timer in this driver so that it will
allow recovery from transmission lockups which occur in the middle
of the descriptor list, rather than just at the beginning.

For some unknown reason, Rhine II chips have a tendency to stop
transmitting while under heavy load, possibly due to collisions.
Whether this behavior is due to a hardware bug or a driver glitch
is unknown as of now.

In either case, this change allows the driver to gracefully recover
from such situations.

Special thanks go to The Anarcat <anarcat@anarcat.dyndns.org>, who
bugged me into looking at this and to
Dominic Marks <dominic_marks@btinternet.com>, who performed a great
deal of testing to help characterize this problem.

MFC after:	3 days
2002-05-15 17:05:28 +00:00
..
alpha Move MI stuff out of MD param.h files. 2002-05-14 20:35:29 +00:00
amd64 Fixed a semantic error. va_arg(ap, u_short) is nonsense except on i386's 2002-05-13 14:34:47 +00:00
arm Move MI stuff out of MD param.h files. 2002-05-14 20:35:29 +00:00
boot DEV_BSIZE lives in sys/param.h and not in machine/param.h anymore. 2002-05-15 11:32:53 +00:00
cam Make Veritas Storage Appliance a HILUNS device. 2002-04-24 00:00:55 +00:00
coda Make daddr_t and u_daddr_t 64bits wide. 2002-05-14 11:09:43 +00:00
compat sysctl -w -> sysctl 2002-05-11 06:06:11 +00:00
conf Disable the shared locking namei() code for now. It breaks several stacking 2002-05-14 21:59:49 +00:00
contrib Merge updates from 3.4.26 - 3.4.27. 2002-04-27 16:56:25 +00:00
crypto Remove macros that are defined elsewhere. 2002-04-21 10:32:48 +00:00
ddb Reconnect db_elf.c to the build (now under "options DDB_NOKLDSYM"). It 2002-05-07 10:59:52 +00:00
dev Enhance the use of the watchdog timer in this driver so that it will 2002-05-15 17:05:28 +00:00
fs Make daddr_t and u_daddr_t 64bits wide. 2002-05-14 11:09:43 +00:00
geom Retire the bogus uses of the disklabel field d_sbsize and begin to 2002-05-12 20:49:41 +00:00
gnu Following a repo-copy from src/sys/ufs/ufs, rename functions and 2002-05-14 17:14:01 +00:00
i4b Fix a problem which could cause some machines to hang after a warm boot. 2002-05-10 12:04:04 +00:00
i386 Move MI stuff out of MD param.h files. 2002-05-14 20:35:29 +00:00
ia64 Move MI stuff out of MD param.h files. 2002-05-14 20:35:29 +00:00
isa After some comments from bde, rewrite the loops to avoid turning the 2002-05-14 21:28:45 +00:00
isofs/cd9660 Include systm.h for panic(9) so that DEBUG_ALL_VFS_LOCKS compiles. 2002-05-04 02:37:00 +00:00
kern p_cansignal() returns an errno value; at some point, the check for 2002-05-14 23:07:15 +00:00
libkern Remove bogus include of <machine/ansi.h>. 2002-04-11 06:53:40 +00:00
modules Check that kldxref(8) exists before running it. 2002-05-14 07:49:12 +00:00
net Add ipfw hooks to ether_demux() and ether_output_frame(). 2002-05-13 10:37:19 +00:00
netatalk Revert the change of #includes in sys/filedesc.h and sys/socketvar.h. 2002-04-30 01:54:54 +00:00
netatm - Remove the init routine for loop -- it broke something and I don't have 2002-05-07 20:50:10 +00:00
netgraph Add a NGM_PPPOE_SESSIONID message to the ng_pppoe node. 2002-05-14 12:32:41 +00:00
netinet Reset token-ring source routing control field on receipt of ethernet frame 2002-05-15 01:03:32 +00:00
netinet6 Recent zlib does not like Z_FLUSH at the end of inflate(). 2002-05-12 14:12:30 +00:00
netipx Revert the change of #includes in sys/filedesc.h and sys/socketvar.h. 2002-04-30 01:54:54 +00:00
netkey Redo the sigio locking. 2002-05-01 20:44:46 +00:00
netnatm Revert the change of #includes in sys/filedesc.h and sys/socketvar.h. 2002-04-30 01:54:54 +00:00
netncp Add character translation table between Unix and NetWare according 2002-04-20 05:35:02 +00:00
netns Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
netsmb Revert the change of #includes in sys/filedesc.h and sys/socketvar.h. 2002-04-30 01:54:54 +00:00
nfs Remove unused include. 2002-03-20 10:12:07 +00:00
nfsclient We don't need the arp kludge any more. 2002-04-28 18:29:44 +00:00
nfsserver Limit to the maximum allowed reply size the amount of data that 2002-04-21 16:14:54 +00:00
pc98 MFi386: revision 1.519 2002-05-14 12:31:47 +00:00
pccard Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
pci Enhance the use of the watchdog timer in this driver so that it will 2002-05-15 17:05:28 +00:00
posix4 Remove __P. 2002-03-19 22:20:14 +00:00
powerpc Move MI stuff out of MD param.h files. 2002-05-14 20:35:29 +00:00
rpc
security/lomac Use the proc lock to protect p_ucred while we read a few items from it. 2002-04-11 21:17:45 +00:00
sparc64 style sync with other platforms. 2002-05-15 16:40:25 +00:00
sys Move MI stuff out of MD param.h files. 2002-05-14 20:35:29 +00:00
tools include systm.h in vnode_if.c so that panic is defined when we're doing 2002-05-04 02:35:13 +00:00
ufs Make daddr_t and u_daddr_t 64bits wide. 2002-05-14 11:09:43 +00:00
vm Make daddr_t and u_daddr_t 64bits wide. 2002-05-14 11:09:43 +00:00
Makefile Milestone #1 in cross-arch make releases. 2002-04-26 17:55:27 +00:00