]> 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)
commit964a774e0fd32b0472c145239ffeae503355e726
treef09e8cb3a60b43e344229e57a379b52b1e105c78
parent26330a4e37d59ba9bcf0a36e953d3f95bd1e86f1
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: dc961065bc56 ("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