wireless: reset number of retries on config change
authorFelix Fietkau <nbd@nbd.name>
Wed, 29 Sep 2021 11:29:22 +0000 (13:29 +0200)
committerFelix Fietkau <nbd@nbd.name>
Wed, 29 Sep 2021 13:07:16 +0000 (15:07 +0200)
Ensure that enough retries are performed, just like on a user triggered
down/up cycle.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
wireless.c

index dafd49aa693b18416ef371e0490ccda45e24d872..8fbb87a83d87c29af6d0e79bc42f9d2a3732d910 100644 (file)
@@ -502,8 +502,11 @@ wdev_handle_config_change(struct wireless_device *wdev)
        enum interface_config_state state = wdev->config_state;
 
        switch(state) {
-       case IFC_NORMAL:
        case IFC_RELOAD:
+               wdev->retry = WIRELESS_SETUP_RETRY;
+               wdev->retry_setup_failed = false;
+               fallthrough;
+       case IFC_NORMAL:
                __wireless_device_set_up(wdev, 0);
 
                wdev->config_state = IFC_NORMAL;
@@ -687,7 +690,6 @@ wdev_change_config(struct wireless_device *wdev, struct wireless_device *wd_new)
        free(wdev->config);
        wdev->config = blob_memdup(new_config);
        wdev->disabled = disabled;
-       wdev->retry_setup_failed = false;
        wdev_set_config_state(wdev, IFC_RELOAD);
 }