freebsd-nq/sys/dev
David Greenman 4611b39710 Enable transmit complete interrupt...
(author's explaination):

 Bit 15 is the flag to request a transmit complete interrupt.  The
driver was apparently written to minimize interrupts, and if not for a
3-COM design quirk, everything would be just ducky.
 Prior to loading the outbound packet into the FIFO, the driver checks
to see if there's enough space to contain the packet.  If not, the
driver requests a transmit-available interrupt when there is
sufficient room.  Unfortunately, the card is continuing to process the
prior FIFO, and by the time the driver sets the threshold for a
transmit available interrupt, the space is already available.  When
this occurs, the 3COM card ignores the interrupt request, and the
driver is hung waiting for an interrupt that will never occur.
There's probably a more elegant solution, but requesting the transmit
complete interrupt was the easiest to implement.  An alternative fix
might be to check free FIFO space again, after requesting the transmit
available interrupt, but I haven't bothered pursuing this.  Since the
patch, my 3C590 (PCI, same FIFO interface as 3C509) has been rock
solid.

Submitted by:	mevans@candle.com (Mike Evans)
1996-07-13 10:49:53 +00:00
..
aic7xxx Detect and report dataphase overruns. Put the adapter into 'Bit Bucket' 1996-06-09 17:33:18 +00:00
ar Added #include of <machine/md_var.h>. This will be needed when 1996-06-25 20:31:01 +00:00
bktr A trailing patch Jim left out of the last commit. 1996-06-07 22:55:14 +00:00
ccd Clean up -Wunused warnings. 1996-06-12 05:11:41 +00:00
cy Clean up -Wunused warnings. 1996-06-12 05:11:41 +00:00
de Updated this driver to a newer version from Matt. This should fix several 1996-06-14 05:25:32 +00:00
dgb Removed unused #includes of <i386/isa/icu.h> and <i386/isa/icu.h>. icu.h 1996-06-18 01:22:40 +00:00
ed Added #include of <machine/md_var.h>. This will be needed when 1996-06-25 20:31:01 +00:00
eisa Clean up -Wunused warnings. 1996-06-12 05:11:41 +00:00
ep Enable transmit complete interrupt... 1996-07-13 10:49:53 +00:00
fdc Staticized a few variables. 1996-07-12 07:41:34 +00:00
fe Removed unused #includes of <i386/isa/icu.h> and <i386/isa/icu.h>. icu.h 1996-06-18 01:22:40 +00:00
fxp Set ifnet.baudrate for ethernet / FDDI interfaces too. Makes 1996-06-01 23:25:10 +00:00
ic Changes to the Digi/Arnet SYNC driver: 1996-03-17 00:29:35 +00:00
ie Added #include of <machine/md_var.h>. This will be needed when 1996-06-25 20:31:01 +00:00
joy Switched from using devfs_add_sw() to using devfs_add_swf() 1996-03-28 14:29:52 +00:00
kbd Change RUKEYMAP sligtly 1996-01-25 16:37:20 +00:00
lnc Added #include of <machine/md_var.h>. This will be needed when 1996-06-25 20:31:01 +00:00
mcd Removed unused #includes of <i386/isa/icu.h> and <i386/isa/icu.h>. icu.h 1996-06-18 01:22:40 +00:00
mse Removed recently introduced unnecessary #includes of <machine/cpu.h> 1996-06-08 09:37:51 +00:00
pci Scan PCI buses in order the BIOS has assigned them. This is sometimes 1996-06-09 11:58:19 +00:00
ppbus Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
rc Removed unused #includes of <i386/isa/icu.h> and <i386/isa/icu.h>. icu.h 1996-06-18 01:22:40 +00:00
scd Don't use NULL in non-pointer contexts. 1996-07-12 04:12:25 +00:00
si Fix typo that prevented the initial/lock state devices from working 1996-06-30 04:56:05 +00:00
sio Added support for TIOCDCDTIMESTAMP (enable/get timestamp of last DCD rise). 1996-06-17 14:23:39 +00:00
snp Switched from using devfs_add_devsw() to devfs_add_devswf() 1996-03-28 14:31:42 +00:00
speaker Fixed name of /dev/speaker (it's not spkr). 1996-03-27 19:07:33 +00:00
sr This driver supports the SDL Communications RISCom/N2 ISA cards that is 1996-07-05 18:51:59 +00:00
syscons Added or restored #include of <machine/md_var.h>. Some declarations 1996-07-01 20:29:10 +00:00
vn Removed an unused devfs variable again. 1996-03-28 15:25:43 +00:00