> +static int smsc95xx_start_phy(struct usbnet *dev) > +{ > + struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- > >data[0]); > + struct net_device *net = dev->net; > + int ret; > + > + ret = smsc95xx_reset(dev); > + if (ret < 0) > + return ret; > + > + /* attach the mac to the phy */ > + ret = phy_connect_direct(net, pdata->phydev, > + &smsc95xx_handle_link_change, > + PHY_INTERFACE_MODE_MII); > + if (ret) { > + netdev_err(net, "can't attach PHY to %s\n", pdata- > >mdiobus->id); > + return ret; > + } > + > + phy_attached_info(net->phydev); > + phy_start(net->phydev); > + mii_nway_restart(&dev->mii);
Is mii_nway_restart() needed? phy_start will start auto-neg if needed. It looks like after this patch you have a mixture of old MII and new phylib. Does that work? If somebody doing a git bisect was to land on one of these intermediary patches, so they have working Ethernet? Andrew