Subject: Re: [PATCH 3/4] atl1: Main C file for Attansic L1 driver

From: Jeff Garzik <[email-masked]>
Date: Mon, 20 Nov 2006 16:36:43 -0500

Stephen Hemminger wrote:
> On Mon, 20 Nov 2006 14:35:10 -0500
> Jeff Garzik <[email-masked]> wrote:
> 
>> Stephen Hemminger wrote:
>>> Using common MII code is good, but one problem with the existing MII code is that
>>> it doesn't work when device is down. This makes it impossible to set speed/duplex
>>> before device comes up.
>>
>> That's not true at all.  drivers/net/mii.c uses caller-provided locking 
>> in all cases, and there is nothing that prevents the common code from 
>> being called when the interface is down.
>>
>> You are probably thinking about all the netif_running() checks found in 
>> the drivers, particularly in the ->begin() hook.
>>
>> 	Jeff
>>
>>
> 
> Yeah it is a driver specific thing. All users of mii seem to block changes so
> I thought it was in base code.

Yeah.  As a bit of history, a lot of drivers would power down the phy 
when the interface was down, and so MII would need to be inaccessible. 
But that's really a driver policy thing.  If the driver provides a 
"don't power down phy, when interface is downed" knob, maybe it would 
want to support MII operations when !netif_running().

	Jeff