From: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Set these bits directly in the code instead of fiddling with wrapper macros. Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> --- 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 devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel