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 <bjorn@mork.no> Link: https://github.com/openwrt/openwrt/pull/17950 Signed-off-by: Sander Vanheule <sander@svanheule.net>
This commit is contained in:
parent
ef4b022150
commit
736229ba99
1 changed files with 12 additions and 1 deletions
|
@ -10,7 +10,18 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
|
||||||
|
|
||||||
--- a/drivers/net/phy/sfp.c
|
--- a/drivers/net/phy/sfp.c
|
||||||
+++ b/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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue