summaryrefslogtreecommitdiff
path: root/drivers/net/phy/phylink.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@armlinux.org.uk>2020-07-21 14:04:10 +0300
committerDavid S. Miller <davem@davemloft.net>2020-07-22 01:46:50 +0300
commit7cceb599d15d6639b1298ae400c26d822148e86f (patch)
tree2154fd670210241a0c56ab88b74d40352874f88c /drivers/net/phy/phylink.c
parent5005b163440f3fe18b434a20e8944dad508a15e8 (diff)
downloadlinux-7cceb599d15d6639b1298ae400c26d822148e86f.tar.xz
net: phylink: avoid mac_config calls
Avoid calling mac_config() when using split PCS, and the interface remains the same. Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy/phylink.c')
-rw-r--r--drivers/net/phy/phylink.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
index f1693ec63366..424a927d7889 100644
--- a/drivers/net/phy/phylink.c
+++ b/drivers/net/phy/phylink.c
@@ -631,10 +631,12 @@ static void phylink_resolve(struct work_struct *w)
}
phylink_pcs_config(pl, false, &link_state);
pl->link_config.interface = link_state.interface;
- } else {
+ } else if (!pl->pcs_ops) {
/* The interface remains unchanged, only the speed,
* duplex or pause settings have changed. Call the
- * old mac_config() method to configure the MAC/PCS.
+ * old mac_config() method to configure the MAC/PCS
+ * only if we do not have a PCS installed (an
+ * unconverted user.)
*/
phylink_mac_config(pl, &link_state);
}