staging: rtl8723au: Use struct ieee80211_pspoll to obtain 'aid'
authorJes Sorensen <Jes.Sorensen@redhat.com>
Fri, 9 May 2014 13:03:34 +0000 (15:03 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 May 2014 20:11:58 +0000 (13:11 -0700)
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8723au/core/rtw_recv.c
drivers/staging/rtl8723au/include/wifi.h

index 3376a65..0999cf2 100644 (file)
@@ -1119,7 +1119,6 @@ static int validate_recv_ctrl_frame(struct rtw_adapter *padapter,
        struct sta_priv *pstapriv = &padapter->stapriv;
        struct sk_buff *skb = precv_frame->pkt;
        struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
-       u8 *pframe = skb->data;
 
        if (!ieee80211_is_ctl(hdr->frame_control))
                return _FAIL;
@@ -1130,14 +1129,15 @@ static int validate_recv_ctrl_frame(struct rtw_adapter *padapter,
 
        /* only handle ps-poll */
        if (ieee80211_is_pspoll(hdr->frame_control)) {
+               struct ieee80211_pspoll *psp = (struct ieee80211_pspoll *)hdr;
                u16 aid;
                u8 wmmps_ac = 0;
                struct sta_info *psta = NULL;
 
-               aid = GetAid(pframe);
+               aid = le16_to_cpu(psp->aid) & 0x3fff;
                psta = rtw_get_stainfo23a(pstapriv, hdr->addr2);
 
-               if ((!psta) || (psta->aid != aid))
+               if (!psta || psta->aid != aid)
                        return _FAIL;
 
                /* for rx pkt statistics */
index 1c1b2f6..4657b22 100644 (file)
@@ -149,10 +149,6 @@ enum WIFI_REG_DOMAIN {
 #define SetAMsdu(pbuf, amsdu)  \
        (*(__le16 *)(pbuf) |= cpu_to_le16((amsdu & 1) << 7))
 
-#define GetAid(pbuf)                                                   \
-       (cpu_to_le16(*(unsigned short *)((unsigned long)(pbuf) + 2)) &  \
-        0x3fff)
-
 #define GetTid(pbuf)                                                   \
        (cpu_to_le16(*(unsigned short *)((unsigned long)(pbuf) +        \
         (((ieee80211_has_tods(pbuf)<<1) |                              \