drv->associated = 0;
os_memset(drv->bssid, 0, ETH_ALEN);
drv->first_bss->freq = 0;
+#ifdef CONFIG_DRIVER_NL80211_QCA
+ os_free(drv->pending_roam_data);
+ drv->pending_roam_data = NULL;
+#endif /* CONFIG_DRIVER_NL80211_QCA */
}
if (!drv->roam_indication_done) {
wpa_printf(MSG_DEBUG,
"nl80211: Pending roam indication, delay processing roam+auth vendor event");
- os_get_reltime(&drv->pending_roam_ind_time);
os_free(drv->pending_roam_data);
drv->pending_roam_data = os_memdup(data, len);
if (cmd == NL80211_CMD_ROAM &&
(drv->capa.flags & WPA_DRIVER_FLAGS_KEY_MGMT_OFFLOAD)) {
if (drv->pending_roam_data) {
- struct os_reltime now, age;
-
- os_get_reltime(&now);
- os_reltime_sub(&now, &drv->pending_roam_ind_time, &age);
- if (age.sec == 0 && age.usec < 100000) {
- wpa_printf(MSG_DEBUG,
- "nl80211: Process pending roam+auth vendor event");
- qca_nl80211_key_mgmt_auth(
- drv, drv->pending_roam_data,
- drv->pending_roam_data_len);
- }
+ wpa_printf(MSG_DEBUG,
+ "nl80211: Process pending roam+auth vendor event");
+ qca_nl80211_key_mgmt_auth(drv, drv->pending_roam_data,
+ drv->pending_roam_data_len);
os_free(drv->pending_roam_data);
drv->pending_roam_data = NULL;
return;