aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/realtek/patches-5.10/710-net-phy-sfp-re-probe-modules-on-DEV_UP-event.patch
blob: 248abee39be80c096b4a65e9ecfd90ce62036e39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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
@@ -1966,6 +1966,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) {