aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/backport-5.4/700-v5.1-net-phylink-only-call-mac_config-during-resolve-when.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2020-02-23 13:20:11 +0100
committerKoen Vandeputte <koen.vandeputte@ncentric.com>2020-02-28 17:50:45 +0100
commitc16517d26de30c90dabce1e456615fd7fbdce07c (patch)
treee7371ee12a3c413a064885b634ee4c975ad7f96a /target/linux/generic/backport-5.4/700-v5.1-net-phylink-only-call-mac_config-during-resolve-when.patch
parent955634b473284847e3c8281a6ac85655329d8b06 (diff)
downloadupstream-c16517d26de30c90dabce1e456615fd7fbdce07c.tar.gz
upstream-c16517d26de30c90dabce1e456615fd7fbdce07c.tar.bz2
upstream-c16517d26de30c90dabce1e456615fd7fbdce07c.zip
kernel: copy kernel 4.19 code to 5.4
No changes were done to the patches while coping them. Currently they do not apply on top of kernel 5.4. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'target/linux/generic/backport-5.4/700-v5.1-net-phylink-only-call-mac_config-during-resolve-when.patch')
-rw-r--r--target/linux/generic/backport-5.4/700-v5.1-net-phylink-only-call-mac_config-during-resolve-when.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/target/linux/generic/backport-5.4/700-v5.1-net-phylink-only-call-mac_config-during-resolve-when.patch b/target/linux/generic/backport-5.4/700-v5.1-net-phylink-only-call-mac_config-during-resolve-when.patch
new file mode 100644
index 0000000000..0e272ea891
--- /dev/null
+++ b/target/linux/generic/backport-5.4/700-v5.1-net-phylink-only-call-mac_config-during-resolve-when.patch
@@ -0,0 +1,44 @@
+From 6f3ea4e5b1f0867ec217f6101fcb89783ed905d7 Mon Sep 17 00:00:00 2001
+From: Russell King <rmk+kernel@armlinux.org.uk>
+Date: Sat, 9 Feb 2019 18:23:26 +0000
+Subject: [PATCH] net: phylink: only call mac_config() during resolve
+ when link is up
+
+There's little point calling mac_config() when the link is down.
+
+Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
+---
+ drivers/net/phy/phylink.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+--- a/drivers/net/phy/phylink.c
++++ b/drivers/net/phy/phylink.c
+@@ -339,6 +339,13 @@ static void phylink_mac_config(struct ph
+ pl->ops->mac_config(pl->netdev, pl->link_an_mode, state);
+ }
+
++static void phylink_mac_config_up(struct phylink *pl,
++ const struct phylink_link_state *state)
++{
++ if (state->link)
++ phylink_mac_config(pl, state);
++}
++
+ static void phylink_mac_an_restart(struct phylink *pl)
+ {
+ if (pl->link_config.an_enabled &&
+@@ -442,12 +449,12 @@ static void phylink_resolve(struct work_
+ case MLO_AN_PHY:
+ link_state = pl->phy_state;
+ phylink_resolve_flow(pl, &link_state);
+- phylink_mac_config(pl, &link_state);
++ phylink_mac_config_up(pl, &link_state);
+ break;
+
+ case MLO_AN_FIXED:
+ phylink_get_fixed_state(pl, &link_state);
+- phylink_mac_config(pl, &link_state);
++ phylink_mac_config_up(pl, &link_state);
+ break;
+
+ case MLO_AN_INBAND: