patch worked (was: Layer 2 Multicasting problem on shut down system brings down all)

Cameron Moore
Sun Oct 3 01:23:19 1999

* Fri, 10 Sep 1999, Donald Becker wrote:
:On Fri, 10 Sep 1999, Robert Schwartz wrote:
:> Actually, we also saw the problem on a vanilla Debian 2.1 install when
:> we rmmod'ed
:> the eepro100 driver, it started to multicast. Even on a straight
:> shutdown with
:> Debian, we saw it. Its occasional, but there. We'll try the new
:> driver.
:OK, that's contrary to the documentation as well.
:I have a first-rev i82558, and no i82559 board, so I might not be able
:to reproduce this.
:The new "kern-2.3" version might fix this, but it doesn't do it
:explicitly.  It puts the chip into ACPI-D2 mode in order to reduce the
:idle power.  (The Sony Vaio Z505 laptop which I borrowed from the NYU
:guys for two weeks uses the eepro100. An OK box, but it just sucks down
:battery power.)
:Hmmm, an explicit fix would be the following. In speedo_close() we can
:send a selective reset instead of stopping the chip nicely.
:- /* Disable interrupts, and stop the chip's Rx process. */
:- outw(SCBMaskAll, ioaddr + SCBCmd);
:- outw(SCBMaskAll | RxAbort, ioaddr + SCBCmd);
:+ /* Bonk the chip on the head. */
:+ outl(PortPartialReset, ioaddr + SCBPort);
:Note: Do not change this to PortReset! The chip might violate the PCI
:protocol and hang the PCI bus!
:I'll make this change in my development version.
:Could someone that can reproduce the problem please verify that it's a
:Donald Becker
:USRA-CESDIS, Center of Excellence in Space Data and Information
:Code 930.5, Goddard Space Flight Center, Greenbelt, MD. 20771

The above patch worked.  I was experiencing the same problem that Robert
Schwartz reported on Sep 1, 1999.  Many thanks to for hosting
the mailing list archives.  =)
Cameron Moore