From: Jes Sorensen <jes.soren...@redhat.com>

Signed-off-by: Jes Sorensen <jes.soren...@redhat.com>
---
 drivers/staging/rtl8723au/core/rtw_xmit.c | 9 +++++----
 drivers/staging/rtl8723au/include/wifi.h  | 6 ------
 2 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/rtl8723au/core/rtw_xmit.c 
b/drivers/staging/rtl8723au/core/rtw_xmit.c
index 0472258..a75ca65 100644
--- a/drivers/staging/rtl8723au/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723au/core/rtw_xmit.c
@@ -1078,6 +1078,7 @@ int rtw_xmitframe_coalesce23a(struct rtw_adapter 
*padapter, struct sk_buff *skb,
        struct sta_info *psta;
        struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
        struct pkt_attrib *pattrib = &pxmitframe->attrib;
+       struct ieee80211_hdr *hdr;
        s32 frg_inx, frg_len, mpdu_len, llc_sz, mem_sz;
        u8 *pframe, *mem_start;
        u8 hw_hdr_offset;
@@ -1136,8 +1137,7 @@ int rtw_xmitframe_coalesce23a(struct rtw_adapter 
*padapter, struct sk_buff *skb,
                mpdu_len = frg_len;
 
                pframe = mem_start;
-
-               SetMFrag(mem_start);
+               hdr = (struct ieee80211_hdr *)mem_start;
 
                pframe += pattrib->hdrlen;
                mpdu_len -= pattrib->hdrlen;
@@ -1220,8 +1220,8 @@ int rtw_xmitframe_coalesce23a(struct rtw_adapter 
*padapter, struct sk_buff *skb,
                                                llc_sz : 0) +
                                                ((pattrib->bswenc) ?
                                                pattrib->icv_len : 0) + mem_sz;
-
-                       ClearMFrag(mem_start);
+                       hdr->frame_control &=
+                               ~cpu_to_le16(IEEE80211_FCTL_MOREFRAGS);
 
                        break;
                } else {
@@ -1229,6 +1229,7 @@ int rtw_xmitframe_coalesce23a(struct rtw_adapter 
*padapter, struct sk_buff *skb,
                                 ("%s: There're still something in packet!\n",
                                  __func__));
                }
+               hdr->frame_control |= cpu_to_le16(IEEE80211_FCTL_MOREFRAGS);
 
                mem_start = PTR_ALIGN(pframe, 4) + hw_hdr_offset;
                memcpy(mem_start, pbuf_start + hw_hdr_offset, pattrib->hdrlen);
diff --git a/drivers/staging/rtl8723au/include/wifi.h 
b/drivers/staging/rtl8723au/include/wifi.h
index 4eb3633..2d1e33a 100644
--- a/drivers/staging/rtl8723au/include/wifi.h
+++ b/drivers/staging/rtl8723au/include/wifi.h
@@ -87,12 +87,6 @@ enum WIFI_REG_DOMAIN {
 #define SetFrDs(pbuf)  \
        (*(__le16 *)(pbuf) |= cpu_to_le16(IEEE80211_FCTL_FROMDS))
 
-#define SetMFrag(pbuf) \
-       (*(__le16 *)(pbuf) |= cpu_to_le16(IEEE80211_FCTL_MOREFRAGS))
-
-#define ClearMFrag(pbuf)       \
-       (*(__le16 *)(pbuf) &= (~cpu_to_le16(IEEE80211_FCTL_MOREFRAGS)))
-
 #define SetRetry(pbuf) \
        (*(__le16 *)(pbuf) |= cpu_to_le16(IEEE80211_FCTL_RETRY))
 
-- 
1.9.0

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to