X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=wireless.c;h=3c785f68c22cd532931e63c292700d95019c0380;hp=fb66e7f3b136384abb1825f5b6d58d399687f308;hb=b9065a028d2120ee59debd784552d628133a6f31;hpb=557c36d169c82e025c633a1f3ef935df40d10784 diff --git a/wireless.c b/wireless.c index fb66e7f..3c785f6 100644 --- a/wireless.c +++ b/wireless.c @@ -76,6 +76,9 @@ vif_config_add_bridge(struct blob_buf *buf, const char *network, bool prepare) if (dev->type != &bridge_device_type) return; + if (dev->hotplug_ops && dev->hotplug_ops->prepare) + dev->hotplug_ops->prepare(dev); + blobmsg_add_string(buf, "bridge", dev->ifname); } @@ -338,6 +341,9 @@ __wireless_device_set_down(struct wireless_device *wdev) static void wireless_device_retry_setup(struct wireless_device *wdev) { + if (wdev->state == IFS_TEARDOWN || wdev->state == IFS_DOWN || wdev->cancel) + return; + if (--wdev->retry < 0) wdev->autostart = false;