net: phy: fix phylib's dual eee_enabled
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Thu, 14 Nov 2024 10:33:27 +0000 (10:33 +0000)
committerJakub Kicinski <kuba@kernel.org>
Fri, 15 Nov 2024 22:27:37 +0000 (14:27 -0800)
commit41ffcd95015f18178ddc53fed919c2842d52fe38
treef4adf9ba6cd2a9610aa9bf35b4d9ff662c42af97
parent0c0d0f42ffa6ac94cd79893b7ed419c15e1b45de
net: phy: fix phylib's dual eee_enabled

phylib has two eee_enabled members. Some parts of the code are using
phydev->eee_enabled, other parts are using phydev->eee_cfg.eee_enabled.
This leads to incorrect behaviour as their state goes out of sync.
ethtool --show-eee shows incorrect information, and --set-eee sometimes
doesn't take effect.

Fix this by only having one eee_enabled member - that in eee_cfg.

Fixes: 49168d1980e2 ("net: phy: Add phy_support_eee() indicating MAC support EEE")
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://patch.msgid.link/E1tBXAF-00341F-EQ@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/phy-c45.c
drivers/net/phy/phy_device.c
include/linux/phy.h