Skip to content

Commit ae7e852

Browse files
GaofengZhangNXPkartben
authored andcommitted
hostap: fix hostap enable fail during stress test
1.everytime ap wpa3 sae enable command will increase the sae_passpharse list of config_bss, and sae_derive_pt will derive all sae pt in the sae_passpharse list, every sae derive pt spend 100ms. 2.with the time going, the sae_passpharse list has more sae, and the time to derive pt for sae will become long, sae_derive_pt will held cpu and doesn't sleep. 3.hostapd task prio is 3, and imu task is 3, hostapd task run before imu task, when the imu interrupt arrive and wake up the imu task, imu task can't run, 4.hostapd task is deriving pt for every sae in the sae_passpharse list. imu task can't run and sleep rwlock can't be release, sleep rwlock timeout is 3s, when derive pt spend over 3s, wlcmgr task waiting command resp on sleep rwlock will assert and hang. Signed-off-by: Gaofeng Zhang <[email protected]>
1 parent 4d178f6 commit ae7e852

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

modules/hostap/src/supp_main.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -716,6 +716,14 @@ static int hostapd_disable_iface_cb(struct hostapd_iface *hapd_iface)
716716
supplicant_send_wifi_mgmt_ap_status(hapd_iface,
717717
NET_EVENT_WIFI_CMD_AP_DISABLE_RESULT,
718718
WIFI_STATUS_AP_SUCCESS);
719+
hostapd_config_free(hapd_iface->conf);
720+
hapd_iface->conf = hapd_iface->interfaces->config_read_cb(hapd_iface->config_fname);
721+
for (j = 0; j < hapd_iface->num_bss; j++) {
722+
hapd = hapd_iface->bss[j];
723+
hapd->iconf = hapd_iface->conf;
724+
hapd->conf = hapd_iface->conf->bss[j];
725+
hapd->driver = hapd_iface->conf->driver;
726+
}
719727

720728
return 0;
721729
}

0 commit comments

Comments
 (0)