[eepro100] Intel 82562ET EEPRO/100 freezing problems

Donald Becker becker@scyld.com
Fri Jan 25 12:19:01 2002


On Fri, 25 Jan 2002, Matt Simmons wrote:

> In e100_watchdog(), they use the coerced revision and the IS_ICH bit
> to skip the multicast command.
> 
> I changed our driver to skip the multicast command in this case, and
> all seems well.  I've been rshing a ufsdump to /dev/null for about 20
> minutes now, and it's still going.  It used to die in less than a
> minute.

To confirm: if it's an ICH the driver shouldn't send a
refresh-multicast-list command if no packets have been received?

What about normal multicast list updates?  Should the driver always use
the rx-all-multicast bit if any multicast traffic is to be received?  Or
should it fill the multicast list (with CmdMulticastList / 0x30000) as
it does with the other eepro100 chips?

> Looking at the eepro100 driver, I think the speedo_timer() routine is
> doing the offending multicast command that should be skipped.  I don't
> run Linux, so I can't verify it.

Yup, the speedo_timer() routine is the watchdog routine that checks for
the old Rx-hang bug that can be cleared by resetting the multicast list.

Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Second Generation Beowulf Clusters
Annapolis MD 21403			410-990-9993