]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: phy: Fix verification of EEE support in phy_init_eee
authorGuenter Roeck <linux@roeck-us.net>
Tue, 17 Feb 2015 17:36:22 +0000 (09:36 -0800)
committerSasha Levin <sasha.levin@oracle.com>
Sat, 14 Mar 2015 19:37:11 +0000 (15:37 -0400)
commite6aa677fd2f9ebc21b5b623be5a2a4088532dece
tree1f40c07e6587246493d0a4a183f618c712860fac
parente95afb07ddb3876fac5037ce7b3c2a3c23442fe2
net: phy: Fix verification of EEE support in phy_init_eee

[ Upstream commit 54da5a8be3c1e924c35480eb44c6e9b275f6444e ]

phy_init_eee uses phy_find_setting(phydev->speed, phydev->duplex)
to find a valid entry in the settings array for the given speed
and duplex value. For full duplex 1000baseT, this will return
the first matching entry, which is the entry for 1000baseKX_Full.

If the phy eee does not support 1000baseKX_Full, this entry will not
match, causing phy_init_eee to fail for no good reason.

Fixes: 9a9c56cb34e6 ("net: phy: fix a bug when verify the EEE support")
Fixes: 3e7077067e80c ("phy: Expand phy speed/duplex settings array")
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/net/phy/phy.c