diff options
| author | Felix Fietkau | 2023-11-20 17:35:49 +0000 |
|---|---|---|
| committer | Felix Fietkau | 2024-01-04 12:35:39 +0000 |
| commit | 33d6c261aacb701888b543d69392822ca3986db9 (patch) | |
| tree | 0217ed918e625f069476f0b622a5ee6eaf46f13e | |
| parent | 8587c074f1eb2064c42adb0a6aa5073f695ab89d (diff) | |
| download | netifd-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.c | 17 |
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) |