diff --git a/core/rtw_mlme_ext.c b/core/rtw_mlme_ext.c index f0cf5e1..67a837e 100644 --- a/core/rtw_mlme_ext.c +++ b/core/rtw_mlme_ext.c @@ -754,9 +754,7 @@ void mgt_dispatcher(_adapter *padapter, union recv_frame *precv_frame) #ifdef CONFIG_AP_MODE subtype = GetFrameSubType(pframe); - if ((subtype == WIFI_AUTH) || - (subtype == WIFI_ASSOCREQ) || - (subtype == WIFI_REASSOCREQ)) + if (subtype == WIFI_AUTH) { if(check_fwstate(pmlmepriv, WIFI_AP_STATE) == _TRUE) { @@ -766,18 +764,16 @@ void mgt_dispatcher(_adapter *padapter, union recv_frame *precv_frame) { ptable->func = &OnAuthClient; } - - // fallthrough - if ((subtype == WIFI_ASSOCREQ) || + _mgt_dispatcher(padapter, ptable, precv_frame); + } + else if ((subtype == WIFI_ASSOCREQ) || (subtype == WIFI_REASSOCREQ)) - { + { _mgt_dispatcher(padapter, ptable, precv_frame); - if(check_fwstate(pmlmepriv, WIFI_AP_STATE) == _TRUE) { rtw_hostapd_mlme_rx(padapter, precv_frame); } - } } else if (subtype == WIFI_PROBEREQ) {