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

Yet another duplicate version of struct ieee80211_ht_operation

Signed-off-by: Jes Sorensen <jes.soren...@redhat.com>
---
 drivers/staging/rtl8723au/core/rtw_ap.c          | 14 +++++++------
 drivers/staging/rtl8723au/core/rtw_ieee80211.c   |  6 +++---
 drivers/staging/rtl8723au/core/rtw_ioctl_set.c   |  4 ++--
 drivers/staging/rtl8723au/core/rtw_mlme.c        | 14 +++++++------
 drivers/staging/rtl8723au/core/rtw_mlme_ext.c    | 23 +++++++++++-----------
 drivers/staging/rtl8723au/core/rtw_wlan_util.c   | 25 ++++++++++++------------
 drivers/staging/rtl8723au/include/rtw_mlme_ext.h |  2 +-
 drivers/staging/rtl8723au/include/rtw_rf.h       | 11 -----------
 drivers/staging/rtl8723au/include/wifi.h         | 11 -----------
 9 files changed, 47 insertions(+), 63 deletions(-)

diff --git a/drivers/staging/rtl8723au/core/rtw_ap.c 
b/drivers/staging/rtl8723au/core/rtw_ap.c
index 3e69d8d..a5bbcdc 100644
--- a/drivers/staging/rtl8723au/core/rtw_ap.c
+++ b/drivers/staging/rtl8723au/core/rtw_ap.c
@@ -652,7 +652,7 @@ static void start_bss_network(struct rtw_adapter *padapter, 
u8 *pbuf)
        struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
        struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
        struct wlan_bssid_ex *pnetwork_mlmeext = &pmlmeinfo->network;
-       struct HT_info_element *pht_info = NULL;
+       struct ieee80211_ht_operation *pht_info = NULL;
        int bcn_fixed_size;
 
        bcn_interval = (u16)pnetwork->BeaconPeriod;
@@ -732,18 +732,20 @@ static void start_bss_network(struct rtw_adapter 
*padapter, u8 *pbuf)
                             pnetwork->IEs + bcn_fixed_size,
                             pnetwork->IELength - bcn_fixed_size);
        if (p && p[1]) {
-               pht_info = (struct HT_info_element *)(p + 2);
+               pht_info = (struct ieee80211_ht_operation *)(p + 2);
 
-               if (pregpriv->cbw40_enable && pht_info->infos[0] & BIT(2)) {
+               if (pregpriv->cbw40_enable && pht_info->ht_param &
+                   IEEE80211_HT_PARAM_CHAN_WIDTH_ANY) {
                        /* switch to the 40M Hz mode */
                        cur_bwmode = HT_CHANNEL_WIDTH_40;
-                       switch (pht_info->infos[0] & 0x3) {
-                       case 1:
+                       switch (pht_info->ht_param &
+                               IEEE80211_HT_PARAM_CHA_SEC_OFFSET) {
+                       case IEEE80211_HT_PARAM_CHA_SEC_ABOVE:
                                /* pmlmeext->cur_ch_offset =
                                   HAL_PRIME_CHNL_OFFSET_LOWER; */
                                cur_ch_offset = HAL_PRIME_CHNL_OFFSET_LOWER;
                                break;
-                       case 3:
+                       case IEEE80211_HT_PARAM_CHA_SEC_BELOW:
                                cur_ch_offset = HAL_PRIME_CHNL_OFFSET_UPPER;
                                break;
                        default:
diff --git a/drivers/staging/rtl8723au/core/rtw_ieee80211.c 
b/drivers/staging/rtl8723au/core/rtw_ieee80211.c
index 2809e8b..af457d5 100644
--- a/drivers/staging/rtl8723au/core/rtw_ieee80211.c
+++ b/drivers/staging/rtl8723au/core/rtw_ieee80211.c
@@ -907,7 +907,7 @@ void rtw_get_bcn_info23a(struct wlan_network *pnetwork)
        u8 bencrypt = 0;
        /* u8 wpa_ie[255], rsn_ie[255]; */
        u16 wpa_len = 0, rsn_len = 0;
-       struct HT_info_element *pht_info;
+       struct ieee80211_ht_operation *pht_info;
        struct ieee80211_ht_cap *pht_cap;
        const u8 *p;
 
@@ -964,8 +964,8 @@ void rtw_get_bcn_info23a(struct wlan_network *pnetwork)
                             pnetwork->network.IEs + _FIXED_IE_LENGTH_,
                       pnetwork->network.IELength - _FIXED_IE_LENGTH_);
        if (p && p[1] > 0) {
-               pht_info = (struct HT_info_element *)(p + 2);
-               pnetwork->BcnInfo.ht_info_infos_0 = pht_info->infos[0];
+               pht_info = (struct ieee80211_ht_operation *)(p + 2);
+               pnetwork->BcnInfo.ht_info_infos_0 = pht_info->ht_param;
        } else
                pnetwork->BcnInfo.ht_info_infos_0 = 0;
 }
diff --git a/drivers/staging/rtl8723au/core/rtw_ioctl_set.c 
b/drivers/staging/rtl8723au/core/rtw_ioctl_set.c
index e9f46a6..1d2ea4e 100644
--- a/drivers/staging/rtl8723au/core/rtw_ioctl_set.c
+++ b/drivers/staging/rtl8723au/core/rtw_ioctl_set.c
@@ -394,8 +394,8 @@ u16 rtw_get_cur_max_rate23a(struct rtw_adapter *adapter)
                        /* cur_bwmod is updated by beacon, pmlmeinfo is
                           updated by association response */
                        bw_40MHz = (pmlmeext->cur_bwmode &&
-                                   (IEEE80211_HT_PARAM_CHAN_WIDTH_ANY &
-                                    pmlmeinfo->HT_info.infos[0])) ? 1:0;
+                                   (pmlmeinfo->HT_info.ht_param &
+                                    IEEE80211_HT_PARAM_CHAN_WIDTH_ANY)) ? 1:0;
 
                        /* short_GI = (pht_capie->cap_info & (IEEE80211_HT_CAP
                           _SGI_20|IEEE80211_HT_CAP_SGI_40)) ? 1 : 0; */
diff --git a/drivers/staging/rtl8723au/core/rtw_mlme.c 
b/drivers/staging/rtl8723au/core/rtw_mlme.c
index 160625f..f4ed1fe 100644
--- a/drivers/staging/rtl8723au/core/rtw_mlme.c
+++ b/drivers/staging/rtl8723au/core/rtw_mlme.c
@@ -2323,7 +2323,7 @@ void rtw_update_ht_cap23a(struct rtw_adapter *padapter, 
u8 *pie, uint ie_len)
        if (pregistrypriv->cbw40_enable &&
            pmlmeinfo->ht_cap.cap_info &
            cpu_to_le16(IEEE80211_HT_CAP_SUP_WIDTH_20_40) &&
-           pmlmeinfo->HT_info.infos[0] & BIT(2)) {
+           pmlmeinfo->HT_info.ht_param & IEEE80211_HT_PARAM_CHAN_WIDTH_ANY) {
                int i;
                u8 rf_type;
 
@@ -2340,13 +2340,13 @@ void rtw_update_ht_cap23a(struct rtw_adapter *padapter, 
u8 *pie, uint ie_len)
                }
                /* switch to the 40M Hz mode accoring to the AP */
                pmlmeext->cur_bwmode = HT_CHANNEL_WIDTH_40;
-               switch ((pmlmeinfo->HT_info.infos[0] & 0x3))
-               {
-               case HT_EXTCHNL_OFFSET_UPPER:
+               switch (pmlmeinfo->HT_info.ht_param &
+                       IEEE80211_HT_PARAM_CHAN_WIDTH_ANY) {
+               case IEEE80211_HT_PARAM_CHA_SEC_ABOVE:
                        pmlmeext->cur_ch_offset = HAL_PRIME_CHNL_OFFSET_LOWER;
                        break;
 
-               case HT_EXTCHNL_OFFSET_LOWER:
+               case IEEE80211_HT_PARAM_CHA_SEC_BELOW:
                        pmlmeext->cur_ch_offset = HAL_PRIME_CHNL_OFFSET_UPPER;
                        break;
 
@@ -2369,7 +2369,9 @@ void rtw_update_ht_cap23a(struct rtw_adapter *padapter, 
u8 *pie, uint ie_len)
        /*  */
        /*  Config current HT Protection mode. */
        /*  */
-       pmlmeinfo->HT_protection = pmlmeinfo->HT_info.infos[1] & 0x3;
+       pmlmeinfo->HT_protection =
+               le16_to_cpu(pmlmeinfo->HT_info.operation_mode) &
+               IEEE80211_HT_OP_MODE_PROTECTION;
 }
 
 void rtw_issue_addbareq_cmd23a(struct rtw_adapter *padapter,
diff --git a/drivers/staging/rtl8723au/core/rtw_mlme_ext.c 
b/drivers/staging/rtl8723au/core/rtw_mlme_ext.c
index 6ce05ec..1249fca 100644
--- a/drivers/staging/rtl8723au/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8723au/core/rtw_mlme_ext.c
@@ -4634,9 +4634,9 @@ int collect_bss_info23a(struct rtw_adapter *padapter,
                                     bssid->IEs + ie_offset,
                                     bssid->IELength - ie_offset);
                if (p) {
-                       struct HT_info_element *HT_info =
-                               (struct HT_info_element *)(p + 2);
-                       bssid->DSConfig = HT_info->primary_channel;
+                       struct ieee80211_ht_operation *HT_info =
+                               (struct ieee80211_ht_operation *)(p + 2);
+                       bssid->DSConfig = HT_info->primary_chan;
                } else /*  use current channel */
                        bssid->DSConfig = rtw_get_oper_ch23a(padapter);
        }
@@ -5953,7 +5953,7 @@ int join_cmd_hdl23a(struct rtw_adapter *padapter, const 
u8 *pbuf)
        struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
        struct wlan_bssid_ex *pnetwork = &pmlmeinfo->network;
        const struct wlan_bssid_ex *pparm = (struct wlan_bssid_ex *)pbuf;
-       struct HT_info_element *pht_info;
+       struct ieee80211_ht_operation *pht_info;
        u32 i;
        int bcn_fixed_size;
        u8 *p;
@@ -6022,20 +6022,21 @@ int join_cmd_hdl23a(struct rtw_adapter *padapter, const 
u8 *pbuf)
 
                        /* spec case only for cisco's ap because cisco's ap
                         * issue assoc rsp using mcs rate @40MHz or @20MHz */
-                       pht_info = (struct HT_info_element *)(p + 2);
+                       pht_info = (struct ieee80211_ht_operation *)(p + 2);
 
-                       if ((pregpriv->cbw40_enable) &&
-                           (pht_info->infos[0] & BIT(2))) {
+                       if (pregpriv->cbw40_enable &&
+                           (pht_info->ht_param &
+                            IEEE80211_HT_PARAM_CHAN_WIDTH_ANY)) {
                                /* switch to the 40M Hz mode according to AP */
                                pmlmeext->cur_bwmode = HT_CHANNEL_WIDTH_40;
-                               switch (pht_info->infos[0] & 0x3)
-                               {
-                               case 1:
+                               switch (pht_info->ht_param &
+                                       IEEE80211_HT_PARAM_CHA_SEC_OFFSET) {
+                               case IEEE80211_HT_PARAM_CHA_SEC_ABOVE:
                                        pmlmeext->cur_ch_offset =
                                                HAL_PRIME_CHNL_OFFSET_LOWER;
                                        break;
 
-                               case 3:
+                               case IEEE80211_HT_PARAM_CHA_SEC_BELOW:
                                        pmlmeext->cur_ch_offset =
                                                HAL_PRIME_CHNL_OFFSET_UPPER;
                                        break;
diff --git a/drivers/staging/rtl8723au/core/rtw_wlan_util.c 
b/drivers/staging/rtl8723au/core/rtw_wlan_util.c
index 1194a6e..6d69811 100644
--- a/drivers/staging/rtl8723au/core/rtw_wlan_util.c
+++ b/drivers/staging/rtl8723au/core/rtw_wlan_util.c
@@ -635,7 +635,7 @@ void WMMOnAssocRsp23a(struct rtw_adapter *padapter)
 
 static void bwmode_update_check(struct rtw_adapter *padapter, u8 *p)
 {
-       struct HT_info_element *pHT_info;
+       struct ieee80211_ht_operation *pHT_info;
        struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
        struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
        struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
@@ -648,19 +648,20 @@ static void bwmode_update_check(struct rtw_adapter 
*padapter, u8 *p)
                return;
        if (!phtpriv->ht_option)
                return;
-       if (p[1] > sizeof(struct HT_info_element))
+       if (p[1] != sizeof(struct ieee80211_ht_operation))
                return;
 
-       pHT_info = (struct HT_info_element *)(p + 2);
+       pHT_info = (struct ieee80211_ht_operation *)(p + 2);
 
-       if ((pHT_info->infos[0] & BIT(2)) && pregistrypriv->cbw40_enable) {
+       if ((pHT_info->ht_param & IEEE80211_HT_PARAM_CHAN_WIDTH_ANY) &&
+           pregistrypriv->cbw40_enable) {
                new_bwmode = HT_CHANNEL_WIDTH_40;
 
-               switch (pHT_info->infos[0] & 0x3) {
-               case 1:
+               switch (pHT_info->ht_param & IEEE80211_HT_PARAM_CHA_SEC_OFFSET){
+               case IEEE80211_HT_PARAM_CHA_SEC_ABOVE:
                        new_ch_offset = HAL_PRIME_CHNL_OFFSET_LOWER;
                        break;
-               case 3:
+               case IEEE80211_HT_PARAM_CHA_SEC_BELOW:
                        new_ch_offset = HAL_PRIME_CHNL_OFFSET_UPPER;
                        break;
                default:
@@ -786,7 +787,7 @@ void HT_info_handler23a(struct rtw_adapter *padapter, u8 *p)
        if (phtpriv->ht_option == false)
                return;
 
-       if (p[1] > sizeof(struct HT_info_element))
+       if (p[1] != sizeof(struct ieee80211_ht_operation))
                return;
 
        pmlmeinfo->HT_info_enable = 1;
@@ -883,7 +884,7 @@ int rtw_check_bcn_info23a(struct rtw_adapter *Adapter,
                          struct ieee80211_mgmt *mgmt, u32 pkt_len)
 {
        struct wlan_network *cur_network = &Adapter->mlmepriv.cur_network;
-       struct HT_info_element *pht_info;
+       struct ieee80211_ht_operation *pht_info;
        struct ieee80211_ht_cap *pht_cap;
        struct wlan_bssid_ex *bssid;
        unsigned short val16;
@@ -952,8 +953,8 @@ int rtw_check_bcn_info23a(struct rtw_adapter *Adapter,
        /* parsing HT_INFO_IE */
        p = cfg80211_find_ie(WLAN_EID_HT_OPERATION, pie, pie_len);
        if (p && p[1] > 0) {
-               pht_info = (struct HT_info_element *)(p + 2);
-               ht_info_infos_0 = pht_info->infos[0];
+               pht_info = (struct ieee80211_ht_operation *)(p + 2);
+               ht_info_infos_0 = pht_info->ht_param;
        } else {
                pht_info = NULL;
                ht_info_infos_0 = 0;
@@ -985,7 +986,7 @@ int rtw_check_bcn_info23a(struct rtw_adapter *Adapter,
                p = cfg80211_find_ie(WLAN_EID_HT_OPERATION, pie, pie_len);
 
                if (pht_info)
-                       bcn_channel = pht_info->primary_channel;
+                       bcn_channel = pht_info->primary_chan;
                else { /* we don't find channel IE, so don't check it */
                        DBG_8723A("Oops: %s we don't find channel IE, so don't "
                                  "check it\n", __func__);
diff --git a/drivers/staging/rtl8723au/include/rtw_mlme_ext.h 
b/drivers/staging/rtl8723au/include/rtw_mlme_ext.h
index 57622fb..368e57d 100644
--- a/drivers/staging/rtl8723au/include/rtw_mlme_ext.h
+++ b/drivers/staging/rtl8723au/include/rtw_mlme_ext.h
@@ -367,7 +367,7 @@ struct mlme_ext_info
        struct ADDBA_request            ADDBA_req;
        struct WMM_para_element WMM_param;
        struct ieee80211_ht_cap ht_cap;
-       struct HT_info_element          HT_info;
+       struct ieee80211_ht_operation HT_info;
        struct wlan_bssid_ex                    network;/* join network or 
bss_network, if in ap mode, it is the same to cur_network.network */
        struct FW_Sta_Info              FW_sta_info[NUM_STA];
 };
diff --git a/drivers/staging/rtl8723au/include/rtw_rf.h 
b/drivers/staging/rtl8723au/include/rtw_rf.h
index 91a0a22..a7de714 100644
--- a/drivers/staging/rtl8723au/include/rtw_rf.h
+++ b/drivers/staging/rtl8723au/include/rtw_rf.h
@@ -89,17 +89,6 @@ enum ht_channel_width {
        HT_CHANNEL_WIDTH_10 = 4,
 };
 
-/*  */
-/*  Represent Extention Channel Offset in HT Capabilities */
-/*  This is available only in 40Mhz mode. */
-/*  */
-enum {
-       HT_EXTCHNL_OFFSET_NO_EXT = 0,
-       HT_EXTCHNL_OFFSET_UPPER = 1,
-       HT_EXTCHNL_OFFSET_NO_DEF = 2,
-       HT_EXTCHNL_OFFSET_LOWER = 3,
-};
-
 /* 2007/11/15 MH Define different RF type. */
 enum {
        RF_1T2R = 0,
diff --git a/drivers/staging/rtl8723au/include/wifi.h 
b/drivers/staging/rtl8723au/include/wifi.h
index 6d221df..4ab28e5 100644
--- a/drivers/staging/rtl8723au/include/wifi.h
+++ b/drivers/staging/rtl8723au/include/wifi.h
@@ -63,17 +63,6 @@
                                Below is the definition for 802.11n
 
------------------------------------------------------------------------------*/
 
-/* struct rtw_ieee80211_ht_cap - HT additional information
- *
- * This structure refers to "HT information element" as
- * described in 802.11n draft section 7.3.2.53
- */
-struct HT_info_element {
-       unsigned char   primary_channel;
-       unsigned char   infos[5];
-       unsigned char   MCS_rate[16];
-}  __packed;
-
 struct AC_param {
        unsigned char           ACI_AIFSN;
        unsigned char           CW;
-- 
1.9.3

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

Reply via email to