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

Set these bits directly in the code instead of fiddling with wrapper
macros.

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

diff --git a/drivers/staging/rtl8723au/core/rtw_mlme_ext.c 
b/drivers/staging/rtl8723au/core/rtw_mlme_ext.c
index b8d829f..2c12ba6 100644
--- a/drivers/staging/rtl8723au/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8723au/core/rtw_mlme_ext.c
@@ -3091,7 +3091,8 @@ void issue_auth23a(struct rtw_adapter *padapter, struct 
sta_info *psta,
                                               pmlmeinfo->chg_txt,
                                               &pattrib->pktlen);
 
-                       SetPrivacy(fctrl);
+                       pwlanhdr->frame_control |=
+                               cpu_to_le16(IEEE80211_FCTL_PROTECTED);
 
                        pattrib->hdrlen = sizeof(struct ieee80211_hdr_3addr);
 
@@ -3573,7 +3574,7 @@ static int _issue_nulldata23a(struct rtw_adapter 
*padapter, unsigned char *da,
                SetToDs(fctrl);
 
        if (power_mode)
-               SetPwrMgt(fctrl);
+               pwlanhdr->frame_control |= cpu_to_le16(IEEE80211_FCTL_PM);
 
        ether_addr_copy(pwlanhdr->addr1, da);
        ether_addr_copy(pwlanhdr->addr2, myid(&padapter->eeprompriv));
@@ -3697,7 +3698,7 @@ static int _issue_qos_nulldata23a(struct rtw_adapter 
*padapter,
                SetToDs(fctrl);
 
        if (pattrib->mdata)
-               SetMData(fctrl);
+               pwlanhdr->frame_control |= cpu_to_le16(IEEE80211_FCTL_MOREDATA);
 
        qc = (unsigned short *)(pframe + pattrib->hdrlen - 2);
 
diff --git a/drivers/staging/rtl8723au/core/rtw_xmit.c 
b/drivers/staging/rtl8723au/core/rtw_xmit.c
index 2ebb3df..a82afcb 100644
--- a/drivers/staging/rtl8723au/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723au/core/rtw_xmit.c
@@ -936,9 +936,11 @@ static int rtw_make_wlanhdr(struct rtw_adapter *padapter, 
u8 *hdr,
                        goto exit;
                }
                if (pattrib->mdata)
-                       SetMData(fctrl);
+                       pwlanhdr->frame_control |=
+                               cpu_to_le16(IEEE80211_FCTL_MOREDATA);
                if (pattrib->encrypt)
-                       SetPrivacy(fctrl);
+                       pwlanhdr->frame_control |=
+                               cpu_to_le16(IEEE80211_FCTL_PROTECTED);
                if (qos_option) {
                        qc = (unsigned short *)(hdr + pattrib->hdrlen - 2);
                        if (pattrib->priority)
diff --git a/drivers/staging/rtl8723au/hal/rtl8723a_cmd.c 
b/drivers/staging/rtl8723au/hal/rtl8723a_cmd.c
index a58de67..dc044cf 100644
--- a/drivers/staging/rtl8723au/hal/rtl8723a_cmd.c
+++ b/drivers/staging/rtl8723au/hal/rtl8723a_cmd.c
@@ -310,16 +310,13 @@ static void ConstructPSPoll(struct rtw_adapter *padapter,
                            u8 *pframe, u32 *pLength)
 {
        struct ieee80211_hdr *pwlanhdr;
-       __le16 *fctrl;
        struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
        struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
 
        pwlanhdr = (struct ieee80211_hdr *)pframe;
 
        /*  Frame control. */
-       fctrl = &pwlanhdr->frame_control;
-       *(fctrl) = 0;
-       SetPwrMgt(fctrl);
+       pwlanhdr->frame_control = cpu_to_le16(IEEE80211_FCTL_PM);
        SetFrameSubType(pframe, WIFI_PSPOLL);
 
        /*  AID. */
@@ -355,7 +352,7 @@ ConstructNullFunctionData(struct rtw_adapter *padapter, u8 
*pframe,
        fctrl = &pwlanhdr->frame_control;
 
        if (bForcePowerSave)
-               SetPwrMgt(fctrl);
+               pwlanhdr->frame_control |= cpu_to_le16(IEEE80211_FCTL_PM);
 
        switch (cur_network->network.ifmode) {
        case NL80211_IFTYPE_P2P_CLIENT:
diff --git a/drivers/staging/rtl8723au/include/wifi.h 
b/drivers/staging/rtl8723au/include/wifi.h
index 3791561..4052de7 100644
--- a/drivers/staging/rtl8723au/include/wifi.h
+++ b/drivers/staging/rtl8723au/include/wifi.h
@@ -72,15 +72,6 @@ enum WIFI_FRAME_SUBTYPE {
 #define SetFrDs(pbuf)  \
        (*(__le16 *)(pbuf) |= cpu_to_le16(IEEE80211_FCTL_FROMDS))
 
-#define SetPwrMgt(pbuf)        \
-       (*(__le16 *)(pbuf) |= cpu_to_le16(IEEE80211_FCTL_PM))
-
-#define SetMData(pbuf) \
-       (*(__le16 *)(pbuf) |= cpu_to_le16(IEEE80211_FCTL_MOREDATA))
-
-#define SetPrivacy(pbuf)       \
-       (*(__le16 *)(pbuf) |= cpu_to_le16(IEEE80211_FCTL_PROTECTED))
-
 #define SetFrameType(pbuf, type)       \
        do {    \
                *(__le16 *)(pbuf) &= __constant_cpu_to_le16(~(BIT(3) | 
BIT(2))); \
-- 
1.9.0

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

Reply via email to