aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Kaiser <martin@kaiser.cx>2022-04-03 18:45:25 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-04-04 16:31:07 +0200
commita32dad7d97eadb69fcddc5fdb3dd98e684a7a870 (patch)
tree3c1425a103c6064ff4c2add114a6e8fabfb2475a
parentstaging: r8188eu: exit straight away if we have no pspoll frame (diff)
staging: r8188eu: use ieee80211 structs for addresses
Map the incoming frame data to a struct ieee80211_hdr and extract the addresses. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220403164526.357371-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/r8188eu/core/rtw_recv.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/staging/r8188eu/core/rtw_recv.c b/drivers/staging/r8188eu/core/rtw_recv.c
index 39834771519f..a8ab1be33cfb 100644
--- a/drivers/staging/r8188eu/core/rtw_recv.c
+++ b/drivers/staging/r8188eu/core/rtw_recv.c
@@ -801,22 +801,21 @@ static void validate_recv_ctrl_frame(struct adapter *padapter,
struct rx_pkt_attrib *pattrib = &precv_frame->attrib;
struct sta_priv *pstapriv = &padapter->stapriv;
u8 *pframe = precv_frame->rx_data;
- __le16 fc = *(__le16 *)pframe;
- /* uint len = precv_frame->len; */
u16 aid;
+ struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)precv_frame->rx_data;
u8 wmmps_ac;
struct sta_info *psta;
/* receive the frames that ra(a1) is my address */
- if (memcmp(GetAddr1Ptr(pframe), myid(&padapter->eeprompriv), ETH_ALEN))
+ if (memcmp(hdr->addr1, myid(&padapter->eeprompriv), ETH_ALEN))
return;
/* only handle ps-poll */
- if (!ieee80211_is_pspoll(fc))
+ if (!ieee80211_is_pspoll(hdr->frame_control))
return;
aid = GetAid(pframe);
- psta = rtw_get_stainfo(pstapriv, GetAddr2Ptr(pframe));
+ psta = rtw_get_stainfo(pstapriv, hdr->addr2);
if (!psta || psta->aid != aid)
return;