On 9/20/22 10:07 AM, Geert Uytterhoeven wrote: [...] >>> Since commit 744d23c71af39c7d ("net: phy: Warn about incorrect >>> mdio_bus_phy_resume() state"), a warning splat is printed during system >>> resume with Wake-on-LAN disabled: >>> >>> WARNING: CPU: 0 PID: 1197 at drivers/net/phy/phy_device.c:323 mdio_bus_phy_resume+0xbc/0xc8 >>> >>> As the Renesas Ethernet AVB driver already calls phy_{stop,start}() in >>> its suspend/resume callbacks, it is sufficient to just mark the MAC >>> responsible for managing the power state of the PHY. >>> >>> Fixes: fba863b816049b03 ("net: phy: make PHY PM ops a no-op if MAC driver manages PHY PM") >>> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> >> >> Reviewed-by: Sergey Shtylyov <s.shtylyov@xxxxxx> > > Thanks for your review! My duty! :-) >>> --- a/drivers/net/ethernet/renesas/ravb_main.c >>> +++ b/drivers/net/ethernet/renesas/ravb_main.c >>> @@ -1449,6 +1449,8 @@ static int ravb_phy_init(struct net_device *ndev) >>> phy_remove_link_mode(phydev, ETHTOOL_LINK_MODE_100baseT_Half_BIT); >>> } >>> >>> + /* Indicate that the MAC is responsible for managing PHY PM */ >>> + phydev->mac_managed_pm = true; >> >> Hm, this field is declared as *unsigned*... > > True, I copied this from drivers/net/ethernet/broadcom/genet/bcmmii.c. > But true/false are fully compatible with single-bit values. Yes, however these 2 drivers do use 1 for setting the single bit fields... > The linuxdoc suggests to use true, like for all other single-bit fields used > as booleans: > > include/linux/phy.h: * @mac_managed_pm: Set true if MAC driver takes Hah, here's the error I noticed: missing "care " here! :-) > of suspending/resuming PHY > > Gr{oetje,eeting}s, > > Geert [...] MBR, Sergey