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