Search Linux Wireless

RE: [PATCH v2] wireless: rename ht_info to ht_operation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Johannes,

> From: Johannes Berg <johannes.berg@xxxxxxxxx>
>
> Since some of the HT code pre-dates 802.11n-2009
> some names are wrong. The one that bothers me most
> is that "HT operation" is called "HT information"
> in our code and that causes confusion.
>
> Rename "HT information" to "HT operation" and also
> the control_chan field to primary_chan to match
> the name used in the spec.
>
> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
> ---
> v2: fix patch for new mwifiex changes

For mwifiex part, the change looks fine except for a couple checkpatch warnings.

>
>  drivers/net/wireless/mwifiex/11n.c  |   16 ++++++------
>  drivers/net/wireless/mwifiex/fw.h   |    2 -
>  drivers/net/wireless/mwifiex/join.c |   14 +++++-----
>  drivers/net/wireless/mwifiex/main.h |    2 -
>  drivers/net/wireless/mwifiex/scan.c |   10 +++----
>  drivers/net/wireless/wl12xx/main.c  |    2 -
>  include/linux/ieee80211.h           |   14 ++++------
>  include/net/mac80211.h              |    2 -
>  net/mac80211/ibss.c                 |   16 +++++-------
>  net/mac80211/ieee80211_i.h          |   13 ++++-----
>  net/mac80211/mesh.c                 |   12 ++++-----
>  net/mac80211/mesh.h                 |    2 -
>  net/mac80211/mesh_plink.c           |    4 +--
>  net/mac80211/mlme.c                 |   48 ++++++++++++++++++------------------
>  net/mac80211/tx.c                   |    4 +--
>  net/mac80211/util.c                 |   43 +++++++++++++++-----------------
>  16 files changed, 99 insertions(+), 105 deletions(-)
>
> --- a/drivers/net/wireless/mwifiex/11n.c      2012-03-15 15:33:29.000000000 +0100
> +++ b/drivers/net/wireless/mwifiex/11n.c      2012-03-15 15:49:19.000000000 +0100
> @@ -350,25 +350,25 @@ mwifiex_cmd_append_11n_tlv(struct mwifie
>               ret_len += sizeof(struct mwifiex_ie_types_htcap);
>       }
>
> -     if (bss_desc->bcn_ht_info) {
> +     if (bss_desc->bcn_ht_oper) {
>               if (priv->bss_mode == NL80211_IFTYPE_ADHOC) {
>                       ht_info = (struct mwifiex_ie_types_htinfo *) *buffer;
>                       memset(ht_info, 0,
>                              sizeof(struct mwifiex_ie_types_htinfo));
>                       ht_info->header.type =
> -                                     cpu_to_le16(WLAN_EID_HT_INFORMATION);
> +                                     cpu_to_le16(WLAN_EID_HT_OPERATION);
>                       ht_info->header.len =
> -                             cpu_to_le16(sizeof(struct ieee80211_ht_info));
> +                             cpu_to_le16(sizeof(struct ieee80211_ht_operation));

WARNING: line over 80 characters

>
>                       memcpy((u8 *) ht_info +
>                              sizeof(struct mwifiex_ie_types_header),
> -                            (u8 *) bss_desc->bcn_ht_info +
> +                            (u8 *) bss_desc->bcn_ht_oper +
>                              sizeof(struct ieee_types_header),
>                              le16_to_cpu(ht_info->header.len));
>
>                       if (!(sband->ht_cap.cap &
>                                       IEEE80211_HT_CAP_SUP_WIDTH_20_40))
> -                             ht_info->ht_info.ht_param &=
> +                             ht_info->ht_oper.ht_param &=
>                                       ~(IEEE80211_HT_PARAM_CHAN_WIDTH_ANY |
>                                       IEEE80211_HT_PARAM_CHA_SEC_OFFSET);
>
> @@ -385,16 +385,16 @@ mwifiex_cmd_append_11n_tlv(struct mwifie
>                       sizeof(struct mwifiex_ie_types_chan_list_param_set) -
>                       sizeof(struct mwifiex_ie_types_header));
>               chan_list->chan_scan_param[0].chan_number =
> -                     bss_desc->bcn_ht_info->control_chan;
> +                     bss_desc->bcn_ht_oper->primary_chan;
>               chan_list->chan_scan_param[0].radio_type =
>                       mwifiex_band_to_radio_type((u8) bss_desc->bss_band);
>
>               if (sband->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40 &&
> -                 bss_desc->bcn_ht_info->ht_param &
> +                 bss_desc->bcn_ht_oper->ht_param &
>                   IEEE80211_HT_PARAM_CHAN_WIDTH_ANY)
>                       SET_SECONDARYCHAN(chan_list->chan_scan_param[0].
>                                         radio_type,
> -                                       (bss_desc->bcn_ht_info->ht_param &
> +                                       (bss_desc->bcn_ht_oper->ht_param &
>                                         IEEE80211_HT_PARAM_CHA_SEC_OFFSET));
>
>               *buffer += sizeof(struct mwifiex_ie_types_chan_list_param_set);
> --- a/drivers/net/wireless/mwifiex/scan.c     2012-03-15 15:33:29.000000000 +0100
> +++ b/drivers/net/wireless/mwifiex/scan.c     2012-03-15 15:39:59.000000000 +0100
> @@ -1221,8 +1221,8 @@ mwifiex_update_bss_desc_with_ie(struct m
>                                       sizeof(struct ieee_types_header) -
>                                       bss_entry->beacon_buf);
>                       break;
> -             case WLAN_EID_HT_INFORMATION:
> -                     bss_entry->bcn_ht_info = (struct ieee80211_ht_info *)
> +             case WLAN_EID_HT_OPERATION:
> +                     bss_entry->bcn_ht_oper = (struct ieee80211_ht_operation *)

WARNING: line over 80 characters

>                                       (current_ptr +
>                                       sizeof(struct ieee_types_header));
>                       bss_entry->ht_info_offset = (u16) (current_ptr +
> @@ -1493,7 +1493,7 @@ mwifiex_update_curr_bss_params(struct mw
>       priv->curr_bss_params.bss_descriptor.bcn_ht_cap = NULL;
>       priv->curr_bss_params.bss_descriptor.ht_cap_offset =
>               0;
> -     priv->curr_bss_params.bss_descriptor.bcn_ht_info = NULL;
> +     priv->curr_bss_params.bss_descriptor.bcn_ht_oper = NULL;
>       priv->curr_bss_params.bss_descriptor.ht_info_offset =
>               0;
>       priv->curr_bss_params.bss_descriptor.bcn_bss_co_2040 =
> @@ -2019,8 +2019,8 @@ mwifiex_save_curr_bcn(struct mwifiex_pri
>                       (curr_bss->beacon_buf +
>                        curr_bss->ht_cap_offset);
>
> -     if (curr_bss->bcn_ht_info)
> -             curr_bss->bcn_ht_info = (struct ieee80211_ht_info *)
> +     if (curr_bss->bcn_ht_oper)
> +             curr_bss->bcn_ht_oper = (struct ieee80211_ht_operation *)
>                       (curr_bss->beacon_buf +
>                        curr_bss->ht_info_offset);
>
> --- a/drivers/net/wireless/wl12xx/main.c      2012-03-15 15:32:27.000000000 +0100
> +++ b/drivers/net/wireless/wl12xx/main.c      2012-03-15 15:39:59.000000000 +0100
> @@ -232,7 +232,7 @@ static struct conf_drv_settings default_
>                               .rule        = CONF_BCN_RULE_PASS_ON_APPEARANCE,
>                       },
>                       [1] = {
> -                             .ie          = WLAN_EID_HT_INFORMATION,
> +                             .ie          = WLAN_EID_HT_OPERATION,
>                               .rule        = CONF_BCN_RULE_PASS_ON_CHANGE,
>                       },
>               },
> --- a/include/linux/ieee80211.h       2012-03-15 15:32:26.000000000 +0100
> +++ b/include/linux/ieee80211.h       2012-03-15 15:39:59.000000000 +0100
> @@ -1007,13 +1007,13 @@ enum ieee80211_min_mpdu_spacing {
>  };
>
>  /**
> - * struct ieee80211_ht_info - HT information
> + * struct ieee80211_ht_operation - HT operation IE
>   *
> - * This structure is the "HT information element" as
> - * described in 802.11n D5.0 7.3.2.58
> + * This structure is the "HT operation element" as
> + * described in 802.11n-2009 7.3.2.57
>   */
> -struct ieee80211_ht_info {
> -     u8 control_chan;
> +struct ieee80211_ht_operation {
> +     u8 primary_chan;
>       u8 ht_param;
>       __le16 operation_mode;
>       __le16 stbc_param;
> @@ -1027,8 +1027,6 @@ struct ieee80211_ht_info {
>  #define              IEEE80211_HT_PARAM_CHA_SEC_BELOW        0x03
>  #define IEEE80211_HT_PARAM_CHAN_WIDTH_ANY            0x04
>  #define IEEE80211_HT_PARAM_RIFS_MODE                 0x08
> -#define IEEE80211_HT_PARAM_SPSMP_SUPPORT             0x10
> -#define IEEE80211_HT_PARAM_SERV_INTERVAL_GRAN                0xE0
>
>  /* for operation_mode */
>  #define IEEE80211_HT_OP_MODE_PROTECTION                      0x0003
> @@ -1301,7 +1299,7 @@ enum ieee80211_eid {
>       WLAN_EID_EXT_SUPP_RATES = 50,
>
>       WLAN_EID_HT_CAPABILITY = 45,
> -     WLAN_EID_HT_INFORMATION = 61,
> +     WLAN_EID_HT_OPERATION = 61,
>
>       WLAN_EID_RSN = 48,
>       WLAN_EID_MMIE = 76,
> --- a/net/mac80211/mlme.c     2012-03-15 15:33:29.000000000 +0100
> +++ b/net/mac80211/mlme.c     2012-03-15 15:39:59.000000000 +0100
> @@ -177,7 +177,7 @@ static int ecw2cw(int ecw)
>   * HT abilities for a specific band.
>   */
>  static u32 ieee80211_enable_ht(struct ieee80211_sub_if_data *sdata,
> -                            struct ieee80211_ht_info *hti,
> +                            struct ieee80211_ht_operation *ht_oper,
>                              const u8 *bssid, u16 ap_ht_cap_flags,
>                              bool beacon_htcap_ie)
>  {
> @@ -185,7 +185,7 @@ static u32 ieee80211_enable_ht(struct ie
>       struct ieee80211_supported_band *sband;
>       struct sta_info *sta;
>       u32 changed = 0;
> -     int hti_cfreq;
> +     int ht_cfreq;
>       u16 ht_opmode;
>       bool enable_ht = true;
>       enum nl80211_channel_type prev_chantype;
> @@ -196,10 +196,10 @@ static u32 ieee80211_enable_ht(struct ie
>       prev_chantype = sdata->vif.bss_conf.channel_type;
>
>
> -     hti_cfreq = ieee80211_channel_to_frequency(hti->control_chan,
> -                                                sband->band);
> +     ht_cfreq = ieee80211_channel_to_frequency(ht_oper->primary_chan,
> +                                               sband->band);
>       /* check that channel matches the right operating channel */
> -     if (local->hw.conf.channel->center_freq != hti_cfreq) {
> +     if (local->hw.conf.channel->center_freq != ht_cfreq) {
>               /* Some APs mess this up, evidently.
>                * Netgear WNDR3700 sometimes reports 4 higher than
>                * the actual channel, for instance.
> @@ -207,11 +207,11 @@ static u32 ieee80211_enable_ht(struct ie
>               printk(KERN_DEBUG
>                      "%s: Wrong control channel in association"
>                      " response: configured center-freq: %d"
> -                    " hti-cfreq: %d  hti->control_chan: %d"
> +                    " ht-cfreq: %d  ht->control_chan: %d"
>                      " band: %d.  Disabling HT.\n",
>                      sdata->name,
>                      local->hw.conf.channel->center_freq,
> -                    hti_cfreq, hti->control_chan,
> +                    ht_cfreq, ht_oper->primary_chan,
>                      sband->band);
>               enable_ht = false;
>       }
> @@ -222,8 +222,8 @@ static u32 ieee80211_enable_ht(struct ie
>               if (!(ap_ht_cap_flags & IEEE80211_HT_CAP_40MHZ_INTOLERANT) &&
>                   !ieee80111_cfg_override_disables_ht40(sdata) &&
>                   (sband->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40) &&
> -                 (hti->ht_param & IEEE80211_HT_PARAM_CHAN_WIDTH_ANY)) {
> -                     switch(hti->ht_param & IEEE80211_HT_PARAM_CHA_SEC_OFFSET) {
> +                 (ht_oper->ht_param & IEEE80211_HT_PARAM_CHAN_WIDTH_ANY)) {
> +                     switch(ht_oper->ht_param & IEEE80211_HT_PARAM_CHA_SEC_OFFSET) {

WARNING: line over 80 characters
ERROR: space required before the open parenthesis '('

Thanks,
Bing

>                       case IEEE80211_HT_PARAM_CHA_SEC_ABOVE:
>                               rx_channel_type = NL80211_CHAN_HT40PLUS;
>                               break;
> @@ -278,7 +278,7 @@ static u32 ieee80211_enable_ht(struct ie
>                               IEEE80211_QUEUE_STOP_REASON_CHTYPE_CHANGE);
>       }
>
> -     ht_opmode = le16_to_cpu(hti->operation_mode);
> +     ht_opmode = le16_to_cpu(ht_oper->operation_mode);
>
>       /* if bss configuration changed store the new one */
>       if (sdata->ht_opmode_valid != enable_ht ||
> @@ -316,12 +316,12 @@ static int ieee80211_compatible_rates(co
>  }
>
>  static void ieee80211_add_ht_ie(struct ieee80211_sub_if_data *sdata,
> -                             struct sk_buff *skb, const u8 *ht_info_ie,
> +                             struct sk_buff *skb, const u8 *ht_oper_ie,
>                               struct ieee80211_supported_band *sband,
>                               struct ieee80211_channel *channel,
>                               enum ieee80211_smps_mode smps)
>  {
> -     struct ieee80211_ht_info *ht_info;
> +     struct ieee80211_ht_operation *ht_oper;
>       u8 *pos;
>       u32 flags = channel->flags;
>       u16 cap;
> @@ -329,21 +329,21 @@ static void ieee80211_add_ht_ie(struct i
>
>       BUILD_BUG_ON(sizeof(ht_cap) != sizeof(sband->ht_cap));
>
> -     if (!ht_info_ie)
> +     if (!ht_oper_ie)
>               return;
>
> -     if (ht_info_ie[1] < sizeof(struct ieee80211_ht_info))
> +     if (ht_oper_ie[1] < sizeof(struct ieee80211_ht_operation))
>               return;
>
>       memcpy(&ht_cap, &sband->ht_cap, sizeof(ht_cap));
>       ieee80211_apply_htcap_overrides(sdata, &ht_cap);
>
> -     ht_info = (struct ieee80211_ht_info *)(ht_info_ie + 2);
> +     ht_oper = (struct ieee80211_ht_operation *)(ht_oper_ie + 2);
>
>       /* determine capability flags */
>       cap = ht_cap.cap;
>
> -     switch (ht_info->ht_param & IEEE80211_HT_PARAM_CHA_SEC_OFFSET) {
> +     switch (ht_oper->ht_param & IEEE80211_HT_PARAM_CHA_SEC_OFFSET) {
>       case IEEE80211_HT_PARAM_CHA_SEC_ABOVE:
>               if (flags & IEEE80211_CHAN_NO_HT40PLUS) {
>                       cap &= ~IEEE80211_HT_CAP_SUP_WIDTH_20_40;
> @@ -557,7 +557,7 @@ static void ieee80211_send_assoc(struct
>       }
>
>       if (!(ifmgd->flags & IEEE80211_STA_DISABLE_11N))
> -             ieee80211_add_ht_ie(sdata, skb, assoc_data->ht_information_ie,
> +             ieee80211_add_ht_ie(sdata, skb, assoc_data->ht_operation_ie,
>                                   sband, local->oper_channel, ifmgd->ap_smps);
>
>       /* if present, add any custom non-vendor IEs that go after HT */
> @@ -2092,9 +2092,9 @@ static bool ieee80211_assoc_success(stru
>               ieee80211_set_wmm_default(sdata, false);
>       changed |= BSS_CHANGED_QOS;
>
> -     if (elems.ht_info_elem && elems.wmm_param &&
> +     if (elems.ht_operation && elems.wmm_param &&
>           !(ifmgd->flags & IEEE80211_STA_DISABLE_11N))
> -             changed |= ieee80211_enable_ht(sdata, elems.ht_info_elem,
> +             changed |= ieee80211_enable_ht(sdata, elems.ht_operation,
>                                              cbss->bssid, ap_ht_cap_flags,
>                                              false);
>
> @@ -2319,7 +2319,7 @@ static const u64 care_about_ies =
>       (1ULL << WLAN_EID_CHANNEL_SWITCH) |
>       (1ULL << WLAN_EID_PWR_CONSTRAINT) |
>       (1ULL << WLAN_EID_HT_CAPABILITY) |
> -     (1ULL << WLAN_EID_HT_INFORMATION);
> +     (1ULL << WLAN_EID_HT_OPERATION);
>
>  static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata,
>                                    struct ieee80211_mgmt *mgmt,
> @@ -2504,7 +2504,7 @@ static void ieee80211_rx_mgmt_beacon(str
>                       erp_valid, erp_value);
>
>
> -     if (elems.ht_cap_elem && elems.ht_info_elem && elems.wmm_param &&
> +     if (elems.ht_cap_elem && elems.ht_operation && elems.wmm_param &&
>           !(ifmgd->flags & IEEE80211_STA_DISABLE_11N)) {
>               struct sta_info *sta;
>               struct ieee80211_supported_band *sband;
> @@ -2527,7 +2527,7 @@ static void ieee80211_rx_mgmt_beacon(str
>
>               rcu_read_unlock();
>
> -             changed |= ieee80211_enable_ht(sdata, elems.ht_info_elem,
> +             changed |= ieee80211_enable_ht(sdata, elems.ht_operation,
>                                              bssid, ap_ht_cap_flags, true);
>       }
>
> @@ -3335,8 +3335,8 @@ int ieee80211_mgd_assoc(struct ieee80211
>       assoc_data->wmm = bss->wmm_used && (local->hw.queues >= 4);
>       assoc_data->supp_rates = bss->supp_rates;
>       assoc_data->supp_rates_len = bss->supp_rates_len;
> -     assoc_data->ht_information_ie =
> -             ieee80211_bss_get_ie(req->bss, WLAN_EID_HT_INFORMATION);
> +     assoc_data->ht_operation_ie =
> +             ieee80211_bss_get_ie(req->bss, WLAN_EID_HT_OPERATION);
>
>       if (bss->wmm_used && bss->uapsd_supported &&
>           (sdata->local->hw.flags & IEEE80211_HW_SUPPORTS_UAPSD)) {
> --- a/net/mac80211/util.c     2012-03-15 15:32:26.000000000 +0100
> +++ b/net/mac80211/util.c     2012-03-15 15:39:59.000000000 +0100
> @@ -684,9 +684,9 @@ u32 ieee802_11_parse_elems_crc(u8 *start
>                       else
>                               elem_parse_failed = true;
>                       break;
> -             case WLAN_EID_HT_INFORMATION:
> -                     if (elen >= sizeof(struct ieee80211_ht_info))
> -                             elems->ht_info_elem = (void *)pos;
> +             case WLAN_EID_HT_OPERATION:
> +                     if (elen >= sizeof(struct ieee80211_ht_operation))
> +                             elems->ht_operation = (void *)pos;
>                       else
>                               elem_parse_failed = true;
>                       break;
> @@ -1611,57 +1611,56 @@ u8 *ieee80211_ie_build_ht_cap(u8 *pos, s
>       return pos;
>  }
>
> -u8 *ieee80211_ie_build_ht_info(u8 *pos,
> -                            struct ieee80211_sta_ht_cap *ht_cap,
> +u8 *ieee80211_ie_build_ht_oper(u8 *pos, struct ieee80211_sta_ht_cap *ht_cap,
>                              struct ieee80211_channel *channel,
>                              enum nl80211_channel_type channel_type)
>  {
> -     struct ieee80211_ht_info *ht_info;
> +     struct ieee80211_ht_operation *ht_oper;
>       /* Build HT Information */
> -     *pos++ = WLAN_EID_HT_INFORMATION;
> -     *pos++ = sizeof(struct ieee80211_ht_info);
> -     ht_info = (struct ieee80211_ht_info *)pos;
> -     ht_info->control_chan =
> +     *pos++ = WLAN_EID_HT_OPERATION;
> +     *pos++ = sizeof(struct ieee80211_ht_operation);
> +     ht_oper = (struct ieee80211_ht_operation *)pos;
> +     ht_oper->primary_chan =
>                       ieee80211_frequency_to_channel(channel->center_freq);
>       switch (channel_type) {
>       case NL80211_CHAN_HT40MINUS:
> -             ht_info->ht_param = IEEE80211_HT_PARAM_CHA_SEC_BELOW;
> +             ht_oper->ht_param = IEEE80211_HT_PARAM_CHA_SEC_BELOW;
>               break;
>       case NL80211_CHAN_HT40PLUS:
> -             ht_info->ht_param = IEEE80211_HT_PARAM_CHA_SEC_ABOVE;
> +             ht_oper->ht_param = IEEE80211_HT_PARAM_CHA_SEC_ABOVE;
>               break;
>       case NL80211_CHAN_HT20:
>       default:
> -             ht_info->ht_param = IEEE80211_HT_PARAM_CHA_SEC_NONE;
> +             ht_oper->ht_param = IEEE80211_HT_PARAM_CHA_SEC_NONE;
>               break;
>       }
>       if (ht_cap->cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40)
> -             ht_info->ht_param |= IEEE80211_HT_PARAM_CHAN_WIDTH_ANY;
> +             ht_oper->ht_param |= IEEE80211_HT_PARAM_CHAN_WIDTH_ANY;
>
>       /*
>        * Note: According to 802.11n-2009 9.13.3.1, HT Protection field and
>        * RIFS Mode are reserved in IBSS mode, therefore keep them at 0
>        */
> -     ht_info->operation_mode = 0x0000;
> -     ht_info->stbc_param = 0x0000;
> +     ht_oper->operation_mode = 0x0000;
> +     ht_oper->stbc_param = 0x0000;
>
>       /* It seems that Basic MCS set and Supported MCS set
>          are identical for the first 10 bytes */
> -     memset(&ht_info->basic_set, 0, 16);
> -     memcpy(&ht_info->basic_set, &ht_cap->mcs, 10);
> +     memset(&ht_oper->basic_set, 0, 16);
> +     memcpy(&ht_oper->basic_set, &ht_cap->mcs, 10);
>
> -     return pos + sizeof(struct ieee80211_ht_info);
> +     return pos + sizeof(struct ieee80211_ht_operation);
>  }
>
>  enum nl80211_channel_type
> -ieee80211_ht_info_to_channel_type(struct ieee80211_ht_info *ht_info)
> +ieee80211_ht_oper_to_channel_type(struct ieee80211_ht_operation *ht_oper)
>  {
>       enum nl80211_channel_type channel_type;
>
> -     if (!ht_info)
> +     if (!ht_oper)
>               return NL80211_CHAN_NO_HT;
>
> -     switch (ht_info->ht_param & IEEE80211_HT_PARAM_CHA_SEC_OFFSET) {
> +     switch (ht_oper->ht_param & IEEE80211_HT_PARAM_CHA_SEC_OFFSET) {
>       case IEEE80211_HT_PARAM_CHA_SEC_NONE:
>               channel_type = NL80211_CHAN_HT20;
>               break;
> --- a/drivers/net/wireless/mwifiex/fw.h       2012-03-15 15:33:29.000000000 +0100
> +++ b/drivers/net/wireless/mwifiex/fw.h       2012-03-15 15:39:59.000000000 +0100
> @@ -1045,7 +1045,7 @@ struct mwifiex_ie_types_htcap {
>
>  struct mwifiex_ie_types_htinfo {
>       struct mwifiex_ie_types_header header;
> -     struct ieee80211_ht_info ht_info;
> +     struct ieee80211_ht_operation ht_oper;
>  } __packed;
>
>  struct mwifiex_ie_types_2040bssco {
> --- a/drivers/net/wireless/mwifiex/main.h     2012-03-15 15:33:29.000000000 +0100
> +++ b/drivers/net/wireless/mwifiex/main.h     2012-03-15 15:39:59.000000000 +0100
> @@ -269,7 +269,7 @@ struct mwifiex_bssdescriptor {
>       u8  disable_11n;
>       struct ieee80211_ht_cap *bcn_ht_cap;
>       u16 ht_cap_offset;
> -     struct ieee80211_ht_info *bcn_ht_info;
> +     struct ieee80211_ht_operation *bcn_ht_oper;
>       u16 ht_info_offset;
>       u8 *bcn_bss_co_2040;
>       u16 bss_co_2040_offset;
> --- a/include/net/mac80211.h  2012-03-15 15:33:29.000000000 +0100
> +++ b/include/net/mac80211.h  2012-03-15 15:39:59.000000000 +0100
> @@ -242,7 +242,7 @@ enum ieee80211_rssi_event {
>   * @channel_type: Channel type for this BSS -- the hardware might be
>   *   configured for HT40+ while this BSS only uses no-HT, for
>   *   example.
> - * @ht_operation_mode: HT operation mode (like in &struct ieee80211_ht_info).
> + * @ht_operation_mode: HT operation mode like in &struct ieee80211_ht_operation.
>   *   This field is only valid when the channel type is one of the HT types.
>   * @cqm_rssi_thold: Connection quality monitor RSSI threshold, a zero value
>   *   implies disabled
> --- a/net/mac80211/ibss.c     2012-03-15 15:32:26.000000000 +0100
> +++ b/net/mac80211/ibss.c     2012-03-15 15:39:59.000000000 +0100
> @@ -160,13 +160,11 @@ static void __ieee80211_sta_join_ibss(st
>       if (channel_type && sband->ht_cap.ht_supported) {
>               pos = skb_put(skb, 4 +
>                                  sizeof(struct ieee80211_ht_cap) +
> -                                sizeof(struct ieee80211_ht_info));
> +                                sizeof(struct ieee80211_ht_operation));
>               pos = ieee80211_ie_build_ht_cap(pos, &sband->ht_cap,
>                                               sband->ht_cap.cap);
> -             pos = ieee80211_ie_build_ht_info(pos,
> -                                              &sband->ht_cap,
> -                                              chan,
> -                                              channel_type);
> +             pos = ieee80211_ie_build_ht_oper(pos, &sband->ht_cap,
> +                                              chan, channel_type);
>       }
>
>       if (local->hw.queues >= 4) {
> @@ -441,13 +439,13 @@ static void ieee80211_rx_bss_info(struct
>               if (sta && elems->wmm_info)
>                       set_sta_flag(sta, WLAN_STA_WME);
>
> -             if (sta && elems->ht_info_elem && elems->ht_cap_elem &&
> +             if (sta && elems->ht_operation && elems->ht_cap_elem &&
>                   sdata->u.ibss.channel_type != NL80211_CHAN_NO_HT) {
>                       /* we both use HT */
>                       struct ieee80211_sta_ht_cap sta_ht_cap_new;
>                       enum nl80211_channel_type channel_type =
> -                             ieee80211_ht_info_to_channel_type(
> -                                                     elems->ht_info_elem);
> +                             ieee80211_ht_oper_to_channel_type(
> +                                                     elems->ht_operation);
>
>                       ieee80211_ht_cap_ie_to_sta_ht_cap(sdata, sband,
>                                                         elems->ht_cap_elem,
> @@ -1063,7 +1061,7 @@ int ieee80211_ibss_join(struct ieee80211
>                           4 /* IBSS params */ +
>                           2 + (IEEE80211_MAX_SUPP_RATES - 8) +
>                           2 + sizeof(struct ieee80211_ht_cap) +
> -                         2 + sizeof(struct ieee80211_ht_info) +
> +                         2 + sizeof(struct ieee80211_ht_operation) +
>                           params->ie_len);
>       if (!skb)
>               return -ENOMEM;
> --- a/net/mac80211/ieee80211_i.h      2012-03-15 15:33:29.000000000 +0100
> +++ b/net/mac80211/ieee80211_i.h      2012-03-15 15:39:59.000000000 +0100
> @@ -397,7 +397,7 @@ struct ieee80211_mgd_auth_data {
>  struct ieee80211_mgd_assoc_data {
>       struct cfg80211_bss *bss;
>       const u8 *supp_rates;
> -     const u8 *ht_information_ie;
> +     const u8 *ht_operation_ie;
>
>       unsigned long timeout;
>       int tries;
> @@ -1117,7 +1117,7 @@ struct ieee802_11_elems {
>       u8 *wmm_info;
>       u8 *wmm_param;
>       struct ieee80211_ht_cap *ht_cap_elem;
> -     struct ieee80211_ht_info *ht_info_elem;
> +     struct ieee80211_ht_operation *ht_operation;
>       struct ieee80211_meshconf_ie *mesh_config;
>       u8 *mesh_id;
>       u8 *peering;
> @@ -1470,10 +1470,9 @@ size_t ieee80211_ie_split(const u8 *ies,
>  size_t ieee80211_ie_split_vendor(const u8 *ies, size_t ielen, size_t offset);
>  u8 *ieee80211_ie_build_ht_cap(u8 *pos, struct ieee80211_sta_ht_cap *ht_cap,
>                             u16 cap);
> -u8 *ieee80211_ie_build_ht_info(u8 *pos,
> -                             struct ieee80211_sta_ht_cap *ht_cap,
> -                             struct ieee80211_channel *channel,
> -                             enum nl80211_channel_type channel_type);
> +u8 *ieee80211_ie_build_ht_oper(u8 *pos, struct ieee80211_sta_ht_cap *ht_cap,
> +                            struct ieee80211_channel *channel,
> +                            enum nl80211_channel_type channel_type);
>
>  /* internal work items */
>  void ieee80211_work_init(struct ieee80211_local *local);
> @@ -1501,7 +1500,7 @@ bool ieee80211_set_channel_type(struct i
>                               struct ieee80211_sub_if_data *sdata,
>                               enum nl80211_channel_type chantype);
>  enum nl80211_channel_type
> -ieee80211_ht_info_to_channel_type(struct ieee80211_ht_info *ht_info);
> +ieee80211_ht_oper_to_channel_type(struct ieee80211_ht_operation *ht_oper);
>  enum nl80211_channel_type ieee80211_get_tx_channel_type(
>                                       struct ieee80211_local *local,
>                                       enum nl80211_channel_type channel_type);
> --- a/net/mac80211/mesh.c     2012-03-15 15:32:26.000000000 +0100
> +++ b/net/mac80211/mesh.c     2012-03-15 15:39:59.000000000 +0100
> @@ -98,9 +98,9 @@ bool mesh_matches_local(struct ieee802_1
>               goto mismatch;
>
>       /* disallow peering with mismatched channel types for now */
> -     if (ie->ht_info_elem &&
> +     if (ie->ht_operation &&
>           (local->_oper_channel_type !=
> -          ieee80211_ht_info_to_channel_type(ie->ht_info_elem)))
> +          ieee80211_ht_oper_to_channel_type(ie->ht_operation)))
>               goto mismatch;
>
>       return true;
> @@ -371,7 +371,7 @@ int mesh_add_ht_cap_ie(struct sk_buff *s
>       return 0;
>  }
>
> -int mesh_add_ht_info_ie(struct sk_buff *skb,
> +int mesh_add_ht_oper_ie(struct sk_buff *skb,
>                       struct ieee80211_sub_if_data *sdata)
>  {
>       struct ieee80211_local *local = sdata->local;
> @@ -385,11 +385,11 @@ int mesh_add_ht_info_ie(struct sk_buff *
>       if (!ht_cap->ht_supported || channel_type == NL80211_CHAN_NO_HT)
>               return 0;
>
> -     if (skb_tailroom(skb) < 2 + sizeof(struct ieee80211_ht_info))
> +     if (skb_tailroom(skb) < 2 + sizeof(struct ieee80211_ht_operation))
>               return -ENOMEM;
>
> -     pos = skb_put(skb, 2 + sizeof(struct ieee80211_ht_info));
> -     ieee80211_ie_build_ht_info(pos, ht_cap, channel, channel_type);
> +     pos = skb_put(skb, 2 + sizeof(struct ieee80211_ht_operation));
> +     ieee80211_ie_build_ht_oper(pos, ht_cap, channel, channel_type);
>
>       return 0;
>  }
> --- a/net/mac80211/mesh_plink.c       2012-03-15 15:32:26.000000000 +0100
> +++ b/net/mac80211/mesh_plink.c       2012-03-15 15:39:59.000000000 +0100
> @@ -187,7 +187,7 @@ static int mesh_plink_frame_tx(struct ie
>                           2 + sdata->u.mesh.mesh_id_len +
>                           2 + sizeof(struct ieee80211_meshconf_ie) +
>                           2 + sizeof(struct ieee80211_ht_cap) +
> -                         2 + sizeof(struct ieee80211_ht_info) +
> +                         2 + sizeof(struct ieee80211_ht_operation) +
>                           2 + 8 + /* peering IE */
>                           sdata->u.mesh.ie_len);
>       if (!skb)
> @@ -263,7 +263,7 @@ static int mesh_plink_frame_tx(struct ie
>
>       if (action != WLAN_SP_MESH_PEERING_CLOSE) {
>               if (mesh_add_ht_cap_ie(skb, sdata) ||
> -                 mesh_add_ht_info_ie(skb, sdata))
> +                 mesh_add_ht_oper_ie(skb, sdata))
>                       return -1;
>       }
>
> --- a/net/mac80211/tx.c       2012-03-15 15:33:29.000000000 +0100
> +++ b/net/mac80211/tx.c       2012-03-15 15:39:59.000000000 +0100
> @@ -2390,7 +2390,7 @@ struct sk_buff *ieee80211_beacon_get_tim
>                                   2 + 3 + /* DS params */
>                                   2 + (IEEE80211_MAX_SUPP_RATES - 8) +
>                                   2 + sizeof(struct ieee80211_ht_cap) +
> -                                 2 + sizeof(struct ieee80211_ht_info) +
> +                                 2 + sizeof(struct ieee80211_ht_operation) +
>                                   2 + sdata->u.mesh.mesh_id_len +
>                                   2 + sizeof(struct ieee80211_meshconf_ie) +
>                                   sdata->u.mesh.ie_len);
> @@ -2419,7 +2419,7 @@ struct sk_buff *ieee80211_beacon_get_tim
>                   ieee80211_add_ext_srates_ie(&sdata->vif, skb) ||
>                   mesh_add_rsn_ie(skb, sdata) ||
>                   mesh_add_ht_cap_ie(skb, sdata) ||
> -                 mesh_add_ht_info_ie(skb, sdata) ||
> +                 mesh_add_ht_oper_ie(skb, sdata) ||
>                   mesh_add_meshid_ie(skb, sdata) ||
>                   mesh_add_meshconf_ie(skb, sdata) ||
>                   mesh_add_vendor_ies(skb, sdata)) {
> --- a/net/mac80211/mesh.h     2012-03-15 15:32:26.000000000 +0100
> +++ b/net/mac80211/mesh.h     2012-03-15 15:39:59.000000000 +0100
> @@ -220,7 +220,7 @@ int mesh_add_ds_params_ie(struct sk_buff
>                         struct ieee80211_sub_if_data *sdata);
>  int mesh_add_ht_cap_ie(struct sk_buff *skb,
>                      struct ieee80211_sub_if_data *sdata);
> -int mesh_add_ht_info_ie(struct sk_buff *skb,
> +int mesh_add_ht_oper_ie(struct sk_buff *skb,
>                       struct ieee80211_sub_if_data *sdata);
>  void mesh_rmc_free(struct ieee80211_sub_if_data *sdata);
>  int mesh_rmc_init(struct ieee80211_sub_if_data *sdata);
> --- a/drivers/net/wireless/mwifiex/join.c     2012-03-15 15:33:29.000000000 +0100
> +++ b/drivers/net/wireless/mwifiex/join.c     2012-03-15 15:48:53.000000000 +0100
> @@ -932,20 +932,20 @@ mwifiex_cmd_802_11_ad_hoc_start(struct m
>               /* Fill HT INFORMATION */
>               ht_info = (struct mwifiex_ie_types_htinfo *) pos;
>               memset(ht_info, 0, sizeof(struct mwifiex_ie_types_htinfo));
> -             ht_info->header.type = cpu_to_le16(WLAN_EID_HT_INFORMATION);
> +             ht_info->header.type = cpu_to_le16(WLAN_EID_HT_OPERATION);
>               ht_info->header.len =
> -                             cpu_to_le16(sizeof(struct ieee80211_ht_info));
> +                     cpu_to_le16(sizeof(struct ieee80211_ht_operation));
>
> -             ht_info->ht_info.control_chan =
> +             ht_info->ht_oper.primary_chan =
>                       (u8) priv->curr_bss_params.bss_descriptor.channel;
>               if (adapter->sec_chan_offset) {
> -                     ht_info->ht_info.ht_param = adapter->sec_chan_offset;
> -                     ht_info->ht_info.ht_param |=
> +                     ht_info->ht_oper.ht_param = adapter->sec_chan_offset;
> +                     ht_info->ht_oper.ht_param |=
>                                       IEEE80211_HT_PARAM_CHAN_WIDTH_ANY;
>               }
> -             ht_info->ht_info.operation_mode =
> +             ht_info->ht_oper.operation_mode =
>                    cpu_to_le16(IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT);
> -             ht_info->ht_info.basic_set[0] = 0xff;
> +             ht_info->ht_oper.basic_set[0] = 0xff;
>               pos += sizeof(struct mwifiex_ie_types_htinfo);
>               cmd_append_size +=
>                               sizeof(struct mwifiex_ie_types_htinfo);
>

��.n��������+%������w��{.n�����{���zW����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux