Messages in this thread | | | Date | Wed, 30 Nov 2022 18:10:42 +0100 | From | Andrew Lunn <> | Subject | Re: [PATCH net-next] net: phy: Add driver for Motorcomm yt8531 gigabit ethernet phy |
| |
On Wed, Nov 30, 2022 at 09:55:50AM +0000, Russell King (Oracle) wrote: > On Wed, Nov 30, 2022 at 05:49:28PM +0800, Frank wrote: > > +/** > > + * yt8531_set_wol() - turn wake-on-lan on or off > > + * @phydev: a pointer to a &struct phy_device > > + * @wol: a pointer to a &struct ethtool_wolinfo > > + * > > + * NOTE: YTPHY_WOL_CONFIG_REG, YTPHY_WOL_MACADDR2_REG, YTPHY_WOL_MACADDR1_REG > > + * and YTPHY_WOL_MACADDR0_REG are common ext reg. > > + * > > + * returns 0 or negative errno code > > + */ > > +static int yt8531_set_wol(struct phy_device *phydev, > > + struct ethtool_wolinfo *wol) > > +{ > > So this is called from the .set_wol method directly, and won't have the > MDIO bus lock taken...
Hi Frank
This is not the first time Russell has pointed out your locking is wrong.
How about adding a check in functions which should be called with the lock taken really do have the lock taken?
ASSERT_RTNL() but for an MDIO bus.
Andrew
| |