aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/network/services/hostapd/src/src/ap/ubus.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/package/network/services/hostapd/src/src/ap/ubus.c b/package/network/services/hostapd/src/src/ap/ubus.c
index 5b16812548..011c32a8b1 100644
--- a/package/network/services/hostapd/src/src/ap/ubus.c
+++ b/package/network/services/hostapd/src/src/ap/ubus.c
@@ -937,6 +937,7 @@ enum {
WNM_DISASSOC_ADDR,
WNM_DISASSOC_DURATION,
WNM_DISASSOC_NEIGHBORS,
+ WNM_DISASSOC_ABRIDGED,
__WNM_DISASSOC_MAX,
};
@@ -944,6 +945,7 @@ static const struct blobmsg_policy wnm_disassoc_policy[__WNM_DISASSOC_MAX] = {
[WNM_DISASSOC_ADDR] = { "addr", BLOBMSG_TYPE_STRING },
[WNM_DISASSOC_DURATION] { "duration", BLOBMSG_TYPE_INT32 },
[WNM_DISASSOC_NEIGHBORS] { "neighbors", BLOBMSG_TYPE_ARRAY },
+ [WNM_DISASSOC_ABRIDGED] { "abridged", BLOBMSG_TYPE_BOOL },
};
static int
@@ -1017,6 +1019,9 @@ hostapd_wnm_disassoc_imminent(struct ubus_context *ctx, struct ubus_object *obj,
if (nr)
req_mode |= WNM_BSS_TM_REQ_PREF_CAND_LIST_INCLUDED;
+ if (tb[WNM_DISASSOC_ABRIDGED] && blobmsg_get_bool(tb[WNM_DISASSOC_ABRIDGED]))
+ req_mode |= WNM_BSS_TM_REQ_ABRIDGED;
+
if (wnm_send_bss_tm_req(hapd, sta, req_mode, duration, 0, NULL,
NULL, nr, nr_len, NULL, 0))
return UBUS_STATUS_UNKNOWN_ERROR;