New eepro100.c v1.09r available for test
Donald Becker
becker@cesdis1.gsfc.nasa.gov
Thu Sep 23 08:48:29 1999
Please try the latest version, v1.09r, available from
http://cesdis.gsfc.nasa.gov/linux/drivers/kern-2.3/index.html
ftp://cesdis.gsfc.nasa.gov/pub/linux/drivers/kern-2.3/
Note that you will need additional support header files. Read the web page
or the README file.
This version
Changes the way the previous descriptor suspend bit is cleared on the x86
(only) from an atomic bit clear to a byte write. This might be faster,
especially on SMP machines, but I really made the change to verify that
the driver isn't somehow clearing StatusComplete. This could only happen
if the clear_bit() was not atomic. The current theory is that the i82558
is failing to mark commands as complete with certain PCI bus traffic
patterns.
Adds a new error check for skipped commands (see last item).
Moves the increments of sp->cur_tx so that we should no longer need a
spinlock in the interrupt handler. (The spinlock is still there.)
Shrinks the regions required to be spinlocked. The spinlocks still have
the same span as before, but may be moved up to the commented line later.
Changes the way Tx timeouts are detected in the timer routine.
Please try the new version if you previously experienced transmit timeouts
with v1.09l or later.
I'm especially looking for a new error message
printk(KERN_ERR "%s: Command unit failed to mark "
"command %8.8x as complete at %d.\n",
dev->name, status, dirty_tx);
which indicates that we recovered from a condition that previously required
a transmit timeout to detect.
Donald Becker becker@cesdis.gsfc.nasa.gov
USRA-CESDIS, Center of Excellence in Space Data and Information Sciences.
Code 930.5, Goddard Space Flight Center, Greenbelt, MD. 20771
301-286-0882 http://cesdis.gsfc.nasa.gov/people/becker/whoiam.html