Re: Problems with 3c59x

Donald Becker <[email protected]>
Newsgroups gmane.linux.drivers.vortex.devel
Message-ID <[email protected]>
On Fri, 13 Dec 2002, Bogdan Costescu wrote:
> On Fri, 13 Dec 2002, Donald Becker wrote:
> 
> > I think that you missed "eth0" vs "eth1".
> 
> No, I missed the part where the interface goes down :-)
> 
> > I believe that this is a different bug, although that fix might have
> > addressed both.
> 
> Well, I don't want to contradict you, but I am proud of my memory 
> (when I'm sure that it functions :-)). This is from the kernel driver:
> 
>    LK1.1.9 12 Sep 2000 andrewm
>     .....
>     - Fixed a bug where, if vp->tx_full is set when the interface
>       is downed, it remains set when the interface is upped.  Bad
>       things happen.
> So I was right about the fix, but wrong about the time :-)

Doh!  Yes, that is clearly the bug here.
I believed that this was the race with the Tx queue going from full to
completely empty when the interrupt handler ran at exactly the wrong
time.  That can leave the tx_full flag set if not properly handled.

All of the other drivers cleared the tx_full flag in init_ring(), while
the 3c59x driver uses in-line code to do the ring initialization only
for the 3c905 series. This would have been avoided if I had converted
3c59x.c to use an init_rings() function that matched  pci-skeleton.c

-- 
Donald Becker				[email protected]
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Scyld Beowulf cluster system
Annapolis MD 21403			410-990-9993

_______________________________________________
vortex mailing list
[email protected]
http://www.scyld.com/mailman/listinfo/vortex
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.