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

Jeff Garzik
2006-11-20T21:36:55Z

Stephen Hemminger wrote:
> On Mon, 20 Nov 2006 14:35:10 -0500
> Jeff Garzik <jeff@garzik.org> 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