> +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