rtl8139D

Mark Stolp mstolp at teltronics.com
Tue Nov 21 01:54:15 UTC 2006


I've ported the following version of the 8139 driver to another
proprietary OS that runs on a
Pentium PC (originally written by Intel):
 
*	$FreeBSD: src/sys/pci/if_rl.c,v 1.38.2.7 2001/07/19 18:33:07
wpaul Exp $
 
I can get it to run in polled mode but when I try to run in interrupt
mode after about 15-20
transmit packets the transmit interrupt stops firing.  After a while the
receive interrupt stops
firing also.  I tried to add recovery when the transmit queue is full
(I'm only using 4 packets at
this point in time) but that doesn't help.  I've checked the 8139 IMR
and also checked the
PC ports to make sure interrupts are being disabled.  I also checked my
Interrupt Descriptor
Table to make sure the OS isn't clobbering it.  Can you think of a
reason why resetting and
restarting the 8139 would not allow interrupts to start up again?
 
Any ideas would be greatly appreciated.  I've been struggling with this
for several weeks now.
 
I've attached my source code but I don't know if you'll be able to
follow it.
 
Mark Stolp
 


More information about the freebsd-hardware mailing list