From: Bjørn Mork Date: Tue, 4 Feb 2025 08:05:40 +0000 (+0100) Subject: realtek: sfp: prevent duplicate hwmon devices when re-probing on interface up X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=736229ba991ba69c6fdc7334353a43d9b1da1bdd;p=openwrt%2Fopenwrt.git realtek: sfp: prevent duplicate hwmon devices when re-probing on interface up 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 --- 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; }