]> git.baikalelectronics.ru Git - kernel.git/commit
net: ethernet: ave: Fix MAC to be in charge of PHY PM
authorKunihiko Hayashi <hayashi.kunihiko@socionext.com>
Mon, 24 Oct 2022 07:22:27 +0000 (16:22 +0900)
committerJakub Kicinski <kuba@kernel.org>
Thu, 27 Oct 2022 03:21:34 +0000 (20:21 -0700)
commit1b46f05471816ba15d38a3aeda59911836204c66
tree4b5259db7762fdab38c5c1af76395480ae8402e3
parent3cc1de37620d1c7b0bcc6493e80704327d4561fc
net: ethernet: ave: Fix MAC to be in charge of PHY PM

The phylib callback is called after MAC driver's own resume callback is
called. For AVE driver, after resuming immediately, PHY state machine is
in PHY_NOLINK because there is a time lag from link-down to link-up due to
autoneg. The result is WARN_ON() dump in mdio_bus_phy_resume().

Since ave_resume() itself calls phy_resume(), AVE driver should manage
PHY PM. To indicate that MAC driver manages PHY PM, set
phydev->mac_managed_pm to true to avoid the unnecessary phylib call and
add missing phy_init_hw() to ave_resume().

Suggested-by: Heiner Kallweit <hkallweit1@gmail.com>
Fixes: 1b003f68755c ("net: phy: make PHY PM ops a no-op if MAC driver manages PHY PM")
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Link: https://lore.kernel.org/r/20221024072227.24769-1-hayashi.kunihiko@socionext.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/socionext/sni_ave.c