On 06/14/2016 05:26 PM, Andrew Lunn wrote:
This was DT as well with a recent fedora/NetworkManager. It
actually seems to be timing related to how fast the device gets
configured after the initial phy probe. There is something like a 1
second window or so where it will work, but if network manager takes
longer than that, the link state drops and cannot be brought back up
unless the cable is pulled, replugged while the netdevice is being
restarted.
Ah!
There is another bug in the driver. The phy is connected to the netdev
after calling register_netdev(). You are supposed to do it before,
because the interface is usable, and can be used, directly after the
register.
Move the call to smsc911x_mii_init() before the register_netdev().
Yah, I buy that, and will move it an see what happens.
But it doesn't solve the problem of the module use count being bumped
in the probe rather than the ndo_open(). The users of
phy_connect_direct() seem to be split between using it in the probe, and
using it in the ndo_open (pxa168, and ax88796 for two examples of using
it in the open).