]> git.baikalelectronics.ru Git - kernel.git/commit
net: phy: consider that suspend2ram may cut off PHY power
authorHeiner Kallweit <hkallweit1@gmail.com>
Thu, 11 Feb 2021 21:32:52 +0000 (22:32 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 12 Feb 2021 02:27:18 +0000 (18:27 -0800)
commitf1fd99ef6338ce0ebcb22d0c2d31bc105b65aa4c
treef09e8cb3a60b43e344229e57a379b52b1e105c78
parent43a58d12b3dc9064273b2ff5e172983239d59943
net: phy: consider that suspend2ram may cut off PHY power

Claudiu reported that on his system S2R cuts off power to the PHY and
after resuming certain PHY settings are lost. The PM folks confirmed
that cutting off power to selected components in S2R is a valid case.
Therefore resuming from S2R, same as from hibernation, has to assume
that the PHY has power-on defaults. As a consequence use the restore
callback also as resume callback.
In addition make sure that the interrupt configuration is restored.
Let's do this in phy_init_hw() and ensure that after this call
actual interrupt configuration is in sync with phydev->interrupts.
Currently, if interrupt was enabled before hibernation, we would
resume with interrupt disabled because that's the power-on default.

This fix applies cleanly only after the commit marked as fixed.

I don't have an affected system, therefore change is compile-tested
only.

[0] https://lore.kernel.org/netdev/1610120754-14331-1-git-send-email-claudiu.beznea@microchip.com/

Fixes: 39dfe53dfd51 ("net: phy: fix MDIO bus PM PHY resuming")
Reported-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phy_device.c