When creating bridge interface 'tether', don't report error if
it already exists. Check also -EALREADY given by connman_inet_ifup()
via enable_bridge() if the bridge interface was already up.
Fixes BMC#23931
if (sk < 0)
return -EOPNOTSUPP;
- err = ioctl(sk, SIOCBRADDBR, name);
-
- if (err < 0)
- return -EOPNOTSUPP;
+ if (ioctl(sk, SIOCBRADDBR, name) == -1) {
+ err = -errno;
+ if (err != -EEXIST)
+ return -EOPNOTSUPP;
+ }
err = set_forward_delay(name, 0);
return;
err = enable_bridge(BRIDGE_NAME);
- if (err < 0) {
+ if (err < 0 && err != -EALREADY) {
remove_bridge(BRIDGE_NAME);
return;
}