summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2022-09-30 14:34:44 +0200
committerFelix Fietkau <nbd@nbd.name>2022-12-19 18:15:24 +0100
commit96bcbb2e4eb69065150203deaa2c13046a22af6a (patch)
tree8a16e9141c5e0a43442a27478e4c23b12b71417f
parent2cffe0c44e62b9e063fa30ce07431753494c53c2 (diff)
downloadnetifd-96bcbb2e4eb69065150203deaa2c13046a22af6a.tar.gz
wireless: allow set_retry ubus notify command to trigger a wdev restart
This can be used to retry bringing up a wireless device after receiving a hotplug event Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--wireless.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/wireless.c b/wireless.c
index bd847e7..118f5a7 100644
--- a/wireless.c
+++ b/wireless.c
@@ -1403,10 +1403,11 @@ wireless_device_set_retry(struct wireless_device *wdev, struct blob_attr *data)
struct blob_attr *val;
blobmsg_parse(&retry_policy, 1, &val, blobmsg_data(data), blobmsg_data_len(data));
- if (!val)
- return UBUS_STATUS_INVALID_ARGUMENT;
-
- wdev->retry = blobmsg_get_u32(val);
+ if (val)
+ wdev->retry = blobmsg_get_u32(val);
+ else
+ wdev->retry = WIRELESS_SETUP_RETRY;
+ __wireless_device_set_up(wdev, 0);
netifd_log_message(L_NOTICE, "Wireless device '%s' set retry=%d\n", wdev->name, wdev->retry);
return 0;
}