New test version of eepro100.c
Donald Becker
becker@cesdis1.gsfc.nasa.gov
Sat Jul 31 17:14:28 1999
On Sat, 31 Jul 1999, Linus Torvalds wrote:
> this version resets the MII tranceiver, and still does it incorrectly as
> far as I can tell.
Hmmm, I don't see what you are talking about.
The only place the MII transceiver is reset is in speedo_tx_timeout(), which
is only called when something goes horribly wrong. The reset is reportedly
required, because the problem may sometimes be in the transceiver.
[[ Note: the reset there does have a problem -- it doesn't properly restore
the advertised capabilities and forced settings. ]]
> It doesn't take the passed-in options into account, so
> it gets it wrong if the user had to override something. It's the code that
> used to be inside
This code is now inside
#if 0
...
#ifdef honor_default_port
#endif
#endif
The proper way to override the transceiver either with a
fixed-speed/fixed-duplex option, or using 'mii-diag' (the ioctl() interface).
> and I know from personal experience that it results in a completely dead
> network card if it triggers..
The current reset code does work -- the on-board i82558 on the VAIO I was
loaned (alas, it had to be returned yesterday) needed it after a suspend to
restore operation.
Before the VAIO I had spent a week trying to get the partial reset/restart
code to do the right thing. If the chip ever stops, it appears to be
internally screwed and would quickly stop again if restarted. I never could
get the internal-state-dump command and other diagnostics to work as
documented. Once I had the laptop, where I knew all internal state was gone
(the station address) I gave up on the restart and just reloaded the entire
chip if something goes wrong.
I kept the dev->priv->in_interrupt flag because
- it's still needed for the bug in 2.0.*
- it remains a useful check for 2.2.*, given that it was an "impossible'
case in 2.0.*
What is incorrect about it? Can the interrupt handlers be called from
multiple processors simultaneously?
BTW, any comment on
the pci-netif interface (esp. grouping ACPI turn-on/turn-off w/ PCI scan)
Documentation and open design questions are at
ftp://cesdis.gsfc.nasa.gov/pub/linux/drivers/test/pci-netif.txt
The usefulness of netif_wake_queue()
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