Hello Andrew, On Tuesday, 11 November 2025 02:08:05 CET Andrew Lunn wrote: ... > > + ret = dp83869_configure_mode(phydev, dp83869); > > + if (ret) > > + return ret; > > + > > + /* Reconfigure advertisement */ > > + if (mutex_trylock(&phydev->lock)) { > > + ret = dp83869_config_aneg(phydev); > > + mutex_unlock(&phydev->lock); > > Why is it safe to call dp83869_configure_mode() without the lock, but > dp83869_config_aneg() does need the lock? And what are the > consequences of not being able to get the lock and so aneg is not > configured? Yeah the idea here is that if the LP changes, then the autoneg should be restarted afterwards. But doing it in the module_insert() callback of the PHY driver is quite complex as far as locking goes... Maxime's phy_port series will make quite a bit of SFP code generic and will conflict with my series, so maybe it's better that I wait for Maxime's series to be merged before sending v3. Then I can try tackling this in a generic manner. Thanks, -- Romain Gantois, Bootlin Embedded Linux and Kernel engineering https://bootlin.com