From 736229ba991ba69c6fdc7334353a43d9b1da1bdd Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bj=C3=B8rn=20Mork?= Date: Tue, 4 Feb 2025 09:05:40 +0100 Subject: [PATCH] realtek: sfp: prevent duplicate hwmon devices when re-probing on interface up MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Re-probing on interface up will register a new duplicate hwmon device. Skip the hwmon probe if we already have a sensor device. Signed-off-by: Bjørn Mork Link: https://github.com/openwrt/openwrt/pull/17950 Signed-off-by: Sander Vanheule --- ...t-phy-sfp-re-probe-modules-on-DEV_UP-event.patch | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/target/linux/realtek/patches-6.6/710-net-phy-sfp-re-probe-modules-on-DEV_UP-event.patch b/target/linux/realtek/patches-6.6/710-net-phy-sfp-re-probe-modules-on-DEV_UP-event.patch index 4e1a21aa71..26216691e4 100644 --- a/target/linux/realtek/patches-6.6/710-net-phy-sfp-re-probe-modules-on-DEV_UP-event.patch +++ b/target/linux/realtek/patches-6.6/710-net-phy-sfp-re-probe-modules-on-DEV_UP-event.patch @@ -10,7 +10,18 @@ Signed-off-by: Antoine Tenart --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c -@@ -2416,6 +2416,13 @@ static void sfp_sm_module(struct sfp *sf +@@ -1557,6 +1557,10 @@ static void sfp_hwmon_probe(struct work_ + struct sfp *sfp = container_of(work, struct sfp, hwmon_probe.work); + int err; + ++ /* Avoid duplicate hwmon devices when re-probing */ ++ if (sfp->hwmon_dev) ++ return; ++ + /* hwmon interface needs to access 16bit registers in atomic way to + * guarantee coherency of the diagnostic monitoring data. If it is not + * possible to guarantee coherency because EEPROM is broken in such way +@@ -2416,6 +2420,13 @@ static void sfp_sm_module(struct sfp *sf return; } -- 2.30.2