From: Felix Fietkau Date: Wed, 28 Jun 2023 12:35:46 +0000 (+0200) Subject: wireless: fix handling config reload with reconf=1 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=255b4d5c472ee3e04ed5fc8ded2a15b3737821ba;p=project%2Fnetifd.git wireless: fix handling config reload with reconf=1 If reload triggers while the wdev is up, and reconf is set to 1, run the setup handler immediately, otherwise the change will not be applied. Signed-off-by: Felix Fietkau --- diff --git a/wireless.c b/wireless.c index 3590cb7..58f096d 100644 --- a/wireless.c +++ b/wireless.c @@ -680,10 +680,15 @@ wdev_set_config_state(struct wireless_device *wdev, enum interface_config_state if (wdev->config_state != IFC_NORMAL) return; + if (s == IFC_RELOAD && wdev->reconf && wdev->state == IFS_UP) { + wireless_device_reconf(wdev); + return; + } + wdev->config_state = s; if (wdev->state == IFS_DOWN) wdev_handle_config_change(wdev); - else if (!wdev->reconf || wdev->state != IFS_UP) + else __wireless_device_set_down(wdev); }