Thread (19 messages) flat view 19 messages, 2 authors, 2007-10-03

Re: [PATCH] [9/11] pasemi_mac: clear out old errors on interface open

From: Jeff Garzik <hidden>
Date: 2007-10-03 18:16:01
Also in: netdev

Olof Johansson wrote:
On Wed, Oct 03, 2007 at 01:46:16PM -0400, Jeff Garzik wrote:
quoted
Olof Johansson wrote:
quoted
pasemi_mac: clear out old errors on interface open
Clear out any pending errors when an interface is brought up. Since the 
bits
are sticky, they might be from interface shutdown time after firmware has
used it, etc.
Signed-off-by: Olof Johansson <redacted>
In general, interface-open should completely reset and initialize the 
hardware.  does pasemi_mac not do that?
There's no explicit way to reset just one interface besides disabling it
(which we do at close, and re-enable at open). It seems that some of
the error bits are sticky across disable/enable, which is why this was
needed. Also, they're RW1C, so writing 0 doesn't remove them (need to
write 1 to clear).
OK just making sure, thanks.

The only other dependency from firmware at this time is the setting of mac
addresses, something that will be taken care of once we allow override of
them via ethtool, since we'd need to program them from the driver then
no matter what. Right now we assume that firmware has programmed it.
Standard procedure for this is

* upon module-load, obtain the MAC address from <whatever canonical source>
* upon interface-up, program dev->dev_addr[] into chip's RX filter (aka 
MAC address) registers

That permits the admin to override the MAC address via ifconfig. 
(ethtool doesn't support that, but you basically had the right idea)

	Jeff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help