]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
staging: r8188eu: use ieee80211 define for fragment number
authorMartin Kaiser <martin@kaiser.cx>
Sun, 27 Mar 2022 18:09:44 +0000 (20:09 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 4 Apr 2022 05:33:47 +0000 (07:33 +0200)
Use the IEEE80211_SCTL_FRAG define to extract the fragment number from an
incoming frame.

pattrib->frag_num must be in host endianness, we have to convert
hdr->seq_ctrl, this field is little-endian.

Remove the local GetFragNum macro, it is not used any more.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20220327180944.712545-10-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_recv.c
drivers/staging/r8188eu/include/wifi.h

index 415747da7e3b26069051a2dcf78185c8e0339051..62cf2df90073645397f15a1c0b2a4cf20f45495c 100644 (file)
@@ -1077,7 +1077,7 @@ static int validate_recv_frame(struct adapter *adapter, struct recv_frame *precv
 
        pattrib->to_fr_ds = get_tofr_ds(ptr);
 
-       pattrib->frag_num = GetFragNum(ptr);
+       pattrib->frag_num = le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_FRAG;
        pattrib->seq_num = IEEE80211_SEQ_TO_SN(le16_to_cpu(hdr->seq_ctrl));
 
        pattrib->pw_save = ieee80211_has_pm(hdr->frame_control);
index dbda1880c45a41171cee3eecdf5459e2fc1c81ec..e10cf17d6aa0fc4fe274b481e65de80f652913b8 100644 (file)
@@ -189,9 +189,6 @@ enum WIFI_REG_DOMAIN {
                *(__le16 *)(pbuf) |= cpu_to_le16(type); \
        } while (0)
 
-#define GetFragNum(pbuf)                       \
-       (le16_to_cpu(*(__le16 *)((size_t)(pbuf) + 22)) & 0x0f)
-
 #define GetTupleCache(pbuf)                    \
        (cpu_to_le16(*(unsigned short *)((size_t)(pbuf) + 22)))