After much fumbling and some guidance (thank you, Alan Cox) I have figured 
out why my dual-Pentium SMP (2.1.125) machine periodically loses its 
AppleTalk.  The 8390.c driver (used by the scary NE2000 ISA card in this 
machine) can corrupt a part of the card's multicast table, causing arbitrary 
(a few to all) portions of the AppleTalk network to become mutually invisible 
to the Linux box.  Anything else that does multicast would also be affected 
when using the 8390 on an MP machine.  Briefly, if cpu0 attempts a transmit 
while cpu1 is servicing a receive interrupt and the phase of the moon is 
correct, a write to the wrong chip page cause the last multicast table entry 
to be set to 0.  This is actually much more likely than it sounds.  I have a 
slightly kludgie fix that takes care of the problem.  So if anyone else is 
having appletalk problems with SMP+8390, this may be the cause.
        On a separate but related topic, when I am happy with this fix and it is 
sufficiently cleaned up, who gets the patch for network drivers? 
 (Presumably, it is not Linus or Donald Becker).

                                                                -- Eugene

 

Reply via email to