net: phylink: make configuring clock-stop dependent on MAC support
We should not be configuring the PHYs clock-stop settings unless the
MAC supports phylink managed EEE. Make this dependent on MAC support.
This was noticed in a suspicious RCU usage report from the kernel
test robot (the suspicious RCU usage due to calling phy_detach()
remains unaddressed, but is triggered by the error this was
generating.)
Fixes: 03abf2a7c6
("net: phylink: add EEE management")
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/E1tgjNn-003q0w-Pw@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
5805402dcc
commit
1942b1c6f6
1 changed files with 9 additions and 6 deletions
|
@ -2265,12 +2265,15 @@ static int phylink_bringup_phy(struct phylink *pl, struct phy_device *phy,
|
|||
/* Allow the MAC to stop its clock if the PHY has the capability */
|
||||
pl->mac_tx_clk_stop = phy_eee_tx_clock_stop_capable(phy) > 0;
|
||||
|
||||
/* Explicitly configure whether the PHY is allowed to stop it's
|
||||
* receive clock.
|
||||
*/
|
||||
ret = phy_eee_rx_clock_stop(phy, pl->config->eee_rx_clk_stop_enable);
|
||||
if (ret == -EOPNOTSUPP)
|
||||
ret = 0;
|
||||
if (pl->mac_supports_eee_ops) {
|
||||
/* Explicitly configure whether the PHY is allowed to stop it's
|
||||
* receive clock.
|
||||
*/
|
||||
ret = phy_eee_rx_clock_stop(phy,
|
||||
pl->config->eee_rx_clk_stop_enable);
|
||||
if (ret == -EOPNOTSUPP)
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue