From 255b4d5c472ee3e04ed5fc8ded2a15b3737821ba Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 28 Jun 2023 14:35:46 +0200 Subject: [PATCH] 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 --- wireless.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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); } -- 2.30.2