diff options
author | Martin Kaiser <martin@kaiser.cx> | 2022-04-13 22:07:41 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2022-04-14 09:07:34 +0200 |
commit | 7bb528c6da7f9f8dd77867ab962e3ddd9a746c60 (patch) | |
tree | ca57ce603f315fd99988534171999ea1b1929804 /drivers/staging/r8188eu/core/rtw_mlme_ext.c | |
parent | staging: r8188eu: merge _mgt_dispatcher into mgt_dispatcher (diff) | |
download | linux-dev-7bb528c6da7f9f8dd77867ab962e3ddd9a746c60.tar.xz linux-dev-7bb528c6da7f9f8dd77867ab962e3ddd9a746c60.zip |
staging: r8188eu: use ieee80211 helpers in mgt_dispatcher
Use structs and functions from ieee80211.h in mgt_dispatcher to parse
the incoming frame.
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20220413200742.276806-4-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to '')
-rw-r--r-- | drivers/staging/r8188eu/core/rtw_mlme_ext.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/r8188eu/core/rtw_mlme_ext.c index ba071de4c05c..b6ee6a24930a 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -396,14 +396,15 @@ void mgt_dispatcher(struct adapter *padapter, struct recv_frame *precv_frame) struct mlme_handler *ptable; struct mlme_priv *pmlmepriv = &padapter->mlmepriv; u8 *pframe = precv_frame->rx_data; - struct sta_info *psta = rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr(pframe)); + struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)precv_frame->rx_data; + struct sta_info *psta = rtw_get_stainfo(&padapter->stapriv, hdr->addr2); - if (GetFrameType(pframe) != IEEE80211_FTYPE_MGMT) + if (!ieee80211_is_mgmt(hdr->frame_control)) return; /* receive the frames that ra(a1) is my address or ra(a1) is bc address. */ - if (memcmp(GetAddr1Ptr(pframe), myid(&padapter->eeprompriv), ETH_ALEN) && - !is_broadcast_ether_addr(GetAddr1Ptr(pframe))) + if (memcmp(hdr->addr1, myid(&padapter->eeprompriv), ETH_ALEN) && + !is_broadcast_ether_addr(hdr->addr1)) return; ptable = mlme_sta_tbl; @@ -415,7 +416,7 @@ void mgt_dispatcher(struct adapter *padapter, struct recv_frame *precv_frame) ptable += index; if (psta) { - if (GetRetry(pframe)) { + if (ieee80211_has_retry(hdr->frame_control)) { if (precv_frame->attrib.seq_num == psta->RxMgmtFrameSeqNum) /* drop the duplicate management frame */ return; @@ -423,7 +424,7 @@ void mgt_dispatcher(struct adapter *padapter, struct recv_frame *precv_frame) psta->RxMgmtFrameSeqNum = precv_frame->attrib.seq_num; } - if (GetFrameSubType(pframe) == WIFI_AUTH) { + if (ieee80211_is_auth(hdr->frame_control)) { if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) ptable->func = &OnAuth; else @@ -432,8 +433,8 @@ void mgt_dispatcher(struct adapter *padapter, struct recv_frame *precv_frame) if (ptable->func) { /* receive the frames that ra(a1) is my address or ra(a1) is bc address. */ - if (memcmp(GetAddr1Ptr(pframe), myid(&padapter->eeprompriv), ETH_ALEN) && - !is_broadcast_ether_addr(GetAddr1Ptr(pframe))) + if (memcmp(hdr->addr1, myid(&padapter->eeprompriv), ETH_ALEN) && + !is_broadcast_ether_addr(hdr->addr1)) return; ptable->func(padapter, precv_frame); } |