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 <[email protected]>
---
drivers/net/ethernet/renesas/ravb_main.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
index d013cc1c8a0ad007..abe6f570fe102636 100644
--- 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;
phy_attached_info(phydev);
return 0;
--
2.25.1
On 9/19/22 07:48, 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 <[email protected]>
Reviewed-by: Florian Fainelli <[email protected]>
--
Florian
On 9/19/22 5:48 PM, 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 <[email protected]>
Reviewed-by: Sergey Shtylyov <[email protected]>
[...]
> diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
> index d013cc1c8a0ad007..abe6f570fe102636 100644
> --- 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*...
> phy_attached_info(phydev);
[...]
MBR, Sergey
On 9/19/22 5:48 PM, 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 <[email protected]>
Reviewed-by: Sergey Shtylyov <[email protected]>
[...]
> diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
> index d013cc1c8a0ad007..abe6f570fe102636 100644
> --- 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*...
> phy_attached_info(phydev);
[...]
MBR, Sergey
Hi Sergey,
On Mon, Sep 19, 2022 at 8:40 PM Sergey Shtylyov <[email protected]> wrote:
> On 9/19/22 5:48 PM, 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 <[email protected]>
>
> Reviewed-by: Sergey Shtylyov <[email protected]>
Thanks for your review!
> > --- 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.
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
of suspending/resuming PHY
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
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 <[email protected]>
>>
>> Reviewed-by: Sergey Shtylyov <[email protected]>
>
> 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
Hello:
This patch was applied to netdev/net.git (master)
by Jakub Kicinski <[email protected]>:
On Mon, 19 Sep 2022 16:48:00 +0200 you 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.
>
> [...]
Here is the summary with links:
- net: ravb: Fix PHY state warning splat during system resume
https://git.kernel.org/netdev/net/c/4924c0cdce75
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html