Allow sched_scan_plans to be updated at runtime
This allows the control interface SET command to be used to update the sched_scan_plans parameter at runtime. In addition, an empty string can be used to clear the previously configured plan. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
23fcfd6004
commit
bea48f7784
4 changed files with 13 additions and 1 deletions
|
@ -4260,7 +4260,7 @@ static const struct global_parse_data global_fields[] = {
|
|||
{ INT_RANGE(fst_llt, 1, FST_MAX_LLT_MS), 0 },
|
||||
#endif /* CONFIG_FST */
|
||||
{ INT_RANGE(wpa_rsc_relaxation, 0, 1), 0 },
|
||||
{ STR(sched_scan_plans), 0 },
|
||||
{ STR(sched_scan_plans), CFG_CHANGED_SCHED_SCAN_PLANS },
|
||||
};
|
||||
|
||||
#undef FUNC
|
||||
|
|
|
@ -332,6 +332,7 @@ struct wpa_cred {
|
|||
#define CFG_CHANGED_EXT_PW_BACKEND BIT(14)
|
||||
#define CFG_CHANGED_NFC_PASSWORD_TOKEN BIT(15)
|
||||
#define CFG_CHANGED_P2P_PASSPHRASE_LEN BIT(16)
|
||||
#define CFG_CHANGED_SCHED_SCAN_PLANS BIT(17)
|
||||
|
||||
/**
|
||||
* struct wpa_config - wpa_supplicant configuration data
|
||||
|
|
|
@ -2548,6 +2548,14 @@ int wpas_sched_scan_plans_set(struct wpa_supplicant *wpa_s, const char *cmd)
|
|||
if (!cmd)
|
||||
return -1;
|
||||
|
||||
if (!cmd[0]) {
|
||||
wpa_printf(MSG_DEBUG, "Clear sched scan plans");
|
||||
os_free(wpa_s->sched_scan_plans);
|
||||
wpa_s->sched_scan_plans = NULL;
|
||||
wpa_s->sched_scan_plans_num = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
while ((token = cstr_token(cmd, " ", &context))) {
|
||||
int ret;
|
||||
struct sched_scan_plan *scan_plan, *n;
|
||||
|
|
|
@ -5314,6 +5314,9 @@ void wpa_supplicant_update_config(struct wpa_supplicant *wpa_s)
|
|||
if (wpa_s->conf->changed_parameters & CFG_CHANGED_EXT_PW_BACKEND)
|
||||
wpas_init_ext_pw(wpa_s);
|
||||
|
||||
if (wpa_s->conf->changed_parameters & CFG_CHANGED_SCHED_SCAN_PLANS)
|
||||
wpas_sched_scan_plans_set(wpa_s, wpa_s->conf->sched_scan_plans);
|
||||
|
||||
#ifdef CONFIG_WPS
|
||||
wpas_wps_update_config(wpa_s);
|
||||
#endif /* CONFIG_WPS */
|
||||
|
|
Loading…
Reference in a new issue