mirror of https://github.com/ARMmbed/mbed-os.git
MIDDLEWARE-2134: Fix spurious link up/down when AP IP address range changes
Fixed additional link down/up events in whd_wifi_link_state_change_handler by checking additional condition during the transition.pull/11894/head
parent
64f9b596bf
commit
818a652e86
|
@ -162,13 +162,21 @@ static void *whd_wifi_link_state_change_handler(whd_interface_t ifp,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event_header->event_type == WLC_E_DEAUTH_IND ||
|
if ((event_header->event_type == WLC_E_DEAUTH_IND) ||
|
||||||
event_header->event_type == WLC_E_DISASSOC_IND) {
|
(event_header->event_type == WLC_E_DISASSOC_IND) ||
|
||||||
|
((event_header->event_type == WLC_E_PSK_SUP) &&
|
||||||
|
(event_header->status == WLC_SUP_KEYED) &&
|
||||||
|
(event_header->reason == WLC_E_SUP_DEAUTH))) {
|
||||||
whd_emac_wifi_link_state_changed(ifp, WHD_FALSE);
|
whd_emac_wifi_link_state_changed(ifp, WHD_FALSE);
|
||||||
|
return handler_user_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (whd_wifi_is_ready_to_transceive(ifp) == WHD_SUCCESS) {
|
if (((event_header->event_type == WLC_E_PSK_SUP) &&
|
||||||
|
(event_header->status == WLC_SUP_KEYED) &&
|
||||||
|
(event_header->reason == WLC_E_SUP_OTHER)) ||
|
||||||
|
(whd_wifi_is_ready_to_transceive(ifp) == WHD_SUCCESS)) {
|
||||||
whd_emac_wifi_link_state_changed(ifp, WHD_TRUE);
|
whd_emac_wifi_link_state_changed(ifp, WHD_TRUE);
|
||||||
|
return handler_user_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
return handler_user_data;
|
return handler_user_data;
|
||||||
|
|
Loading…
Reference in New Issue