summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau2023-11-20 17:35:49 +0000
committerFelix Fietkau2024-01-04 12:35:39 +0000
commit33d6c261aacb701888b543d69392822ca3986db9 (patch)
tree0217ed918e625f069476f0b622a5ee6eaf46f13e
parent8587c074f1eb2064c42adb0a6aa5073f695ab89d (diff)
downloadnetifd-33d6c261aacb701888b543d69392822ca3986db9.tar.gz
system-linux: fix bogus debug error messages on adding bridge members
Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--system-linux.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/system-linux.c b/system-linux.c
index cc1b5e9..96cc993 100644
--- a/system-linux.c
+++ b/system-linux.c
@@ -948,16 +948,19 @@ int system_bridge_addif(struct device *bridge, struct device *dev)
int tries = 0;
int ret;
-retry:
- ret = 0;
- oldbr = system_get_bridge(dev->ifname, dev_buf, sizeof(dev_buf));
- if (!oldbr || strcmp(oldbr, bridge->ifname) != 0) {
+
+ for (tries = 0; tries < 3; tries++) {
+ ret = 0;
+ oldbr = system_get_bridge(dev->ifname, dev_buf, sizeof(dev_buf));
+ if (oldbr && !strcmp(oldbr, bridge->ifname))
+ break;
+
ret = system_bridge_if(bridge->ifname, dev, SIOCBRADDIF, NULL);
- tries++;
+ if (!ret)
+ break;
+
D(SYSTEM, "Failed to add device '%s' to bridge '%s' (tries=%d): %s\n",
dev->ifname, bridge->ifname, tries, strerror(errno));
- if (tries <= 3)
- goto retry;
}
if (dev->wireless)