Commit b3300146 authored by Srinivas Kandagatla's avatar Srinivas Kandagatla Committed by David S. Miller

phy:icplus:fix Auto Power Saving in ip101a_config_init.

This patch fixes Auto Power Saving configuration in ip101a_config_init
which was broken as there is no phy register write followed after
setting IP101A_APS_ON flag.

This patch also fixes the return value of ip101a_config_init.

Without this patch ip101a_config_init returns 2 which is not an error
accroding to IS_ERR and the mac driver will continue accessing 2 as
valid pointer to phy_dev resulting in memory fault.
Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@st.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6fc8cc3f
...@@ -162,7 +162,8 @@ static int ip101a_g_config_init(struct phy_device *phydev) ...@@ -162,7 +162,8 @@ static int ip101a_g_config_init(struct phy_device *phydev)
/* Enable Auto Power Saving mode */ /* Enable Auto Power Saving mode */
c = phy_read(phydev, IP10XX_SPEC_CTRL_STATUS); c = phy_read(phydev, IP10XX_SPEC_CTRL_STATUS);
c |= IP101A_G_APS_ON; c |= IP101A_G_APS_ON;
return c;
return phy_write(phydev, IP10XX_SPEC_CTRL_STATUS, c);
} }
static int ip175c_read_status(struct phy_device *phydev) static int ip175c_read_status(struct phy_device *phydev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment