> > Hi Robert
> >
> > That looks like a layering violation. Maybe move this into
> > phylink_mii_c22_pcs_config(), it is accessing MII_BMCR anyway.
>
> Could do - do we think there's any harm in just disabling BMCR_ISOLATE
> in all cases in that function?
We have something similar in phylib:
/**
* genphy_restart_aneg - Enable and Restart Autonegotiation
* @phydev: target phy_device struct
*/
int genphy_restart_aneg(struct phy_device *phydev)
{
/* Don't isolate the PHY if we're negotiating */
return phy_modify(phydev, MII_BMCR, BMCR_ISOLATE,
BMCR_ANENABLE | BMCR_ANRESTART);
}
so i think it would also be safe in PCS code.
Andrew