Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Nov 2006 20:54:12 -0500
From:      "Mark Stolp" <mstolp@teltronics.com>
To:        <freebsd-hardware@freebsd.org>
Subject:   RE: rtl8139D
Message-ID:  <11C803742910E84E9CDBFD344773B81401B9D7FF@srqech02.teltronics.com>

index | next in thread | raw e-mail

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
 

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?11C803742910E84E9CDBFD344773B81401B9D7FF>