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
@@ -2416,6 +2416,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) {
