aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/realtek/patches-5.10/710-net-phy-sfp-re-probe-modules-on-DEV_UP-event.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/realtek/patches-5.10/710-net-phy-sfp-re-probe-modules-on-DEV_UP-event.patch')
-rw-r--r--target/linux/realtek/patches-5.10/710-net-phy-sfp-re-probe-modules-on-DEV_UP-event.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/target/linux/realtek/patches-5.10/710-net-phy-sfp-re-probe-modules-on-DEV_UP-event.patch b/target/linux/realtek/patches-5.10/710-net-phy-sfp-re-probe-modules-on-DEV_UP-event.patch
new file mode 100644
index 0000000000..591cdbf159
--- /dev/null
+++ b/target/linux/realtek/patches-5.10/710-net-phy-sfp-re-probe-modules-on-DEV_UP-event.patch
@@ -0,0 +1,26 @@
+From a381ac0aa281fdb0b41a39d8a2bc08fd88f6db92 Mon Sep 17 00:00:00 2001
+From: Antoine Tenart <antoine.tenart@bootlin.com>
+Date: Tue, 25 Feb 2020 16:32:37 +0100
+Subject: [PATCH 1/3] net: phy: sfp: re-probe modules on DEV_UP event
+
+Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
+---
+ drivers/net/phy/sfp.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/drivers/net/phy/sfp.c
++++ b/drivers/net/phy/sfp.c
+@@ -1959,6 +1959,13 @@ static void sfp_sm_module(struct sfp *sf
+ return;
+ }
+
++ /* Re-probe the SFP modules when an interface is brought up, as the MAC
++ * do not report its link status (This means Phylink wouldn't be
++ * triggered if the PHY had a link before a MAC is brought up).
++ */
++ if (event == SFP_E_DEV_UP && sfp->sm_mod_state == SFP_MOD_PRESENT)
++ sfp_sm_mod_next(sfp, SFP_MOD_PROBE, T_SERIAL);
++
+ switch (sfp->sm_mod_state) {
+ default:
+ if (event == SFP_E_INSERT) {