From df93d53a4b7a5ce284dc0c6509057979f233cb92 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 14 May 2016 17:38:56 +0200 Subject: mac80211: update to wireless-testing 2016-05-12 Signed-off-by: Felix Fietkau --- package/kernel/mwlwifi/patches/110-api_sync.patch | 250 +++++++++++++++++++++- 1 file changed, 249 insertions(+), 1 deletion(-) (limited to 'package/kernel/mwlwifi/patches/110-api_sync.patch') diff --git a/package/kernel/mwlwifi/patches/110-api_sync.patch b/package/kernel/mwlwifi/patches/110-api_sync.patch index ed3e06a1c1..920cb8cd66 100644 --- a/package/kernel/mwlwifi/patches/110-api_sync.patch +++ b/package/kernel/mwlwifi/patches/110-api_sync.patch @@ -1,6 +1,30 @@ --- a/mac80211.c +++ b/mac80211.c -@@ -597,10 +597,13 @@ static int mwl_mac80211_get_survey(struc +@@ -260,12 +260,12 @@ static int mwl_mac80211_config(struct ie + if (changed & IEEE80211_CONF_CHANGE_CHANNEL) { + int rate = 0; + +- if (conf->chandef.chan->band == IEEE80211_BAND_2GHZ) { ++ if (conf->chandef.chan->band == NL80211_BAND_2GHZ) { + mwl_fwcmd_set_apmode(hw, AP_MODE_2_4GHZ_11AC_MIXED); + mwl_fwcmd_set_linkadapt_cs_mode(hw, + LINK_CS_STATE_CONSERV); + rate = mwl_rates_24[0].hw_value; +- } else if (conf->chandef.chan->band == IEEE80211_BAND_5GHZ) { ++ } else if (conf->chandef.chan->band == NL80211_BAND_5GHZ) { + mwl_fwcmd_set_apmode(hw, AP_MODE_11AC); + mwl_fwcmd_set_linkadapt_cs_mode(hw, + LINK_CS_STATE_AUTO); +@@ -333,7 +333,7 @@ static void mwl_mac80211_bss_info_change + if (idx) + idx--; + +- if (hw->conf.chandef.chan->band == IEEE80211_BAND_2GHZ) ++ if (hw->conf.chandef.chan->band == NL80211_BAND_2GHZ) + rate = mwl_rates_24[idx].hw_value; + else + rate = mwl_rates_50[idx].hw_value; +@@ -600,10 +600,13 @@ static int mwl_mac80211_get_survey(struc static int mwl_mac80211_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, @@ -17,3 +41,227 @@ int rc = 0; struct mwl_priv *priv = hw->priv; struct mwl_ampdu_stream *stream; +--- a/fwcmd.c ++++ b/fwcmd.c +@@ -730,9 +730,9 @@ static int mwl_fwcmd_set_country_code(st + bool enable = false; + + if (b_inf->ie_country_ptr) { +- if (bss_conf->chandef.chan->band == IEEE80211_BAND_2GHZ) ++ if (bss_conf->chandef.chan->band == NL80211_BAND_2GHZ) + a_band = false; +- else if (bss_conf->chandef.chan->band == IEEE80211_BAND_5GHZ) ++ else if (bss_conf->chandef.chan->band == NL80211_BAND_5GHZ) + a_band = true; + else + return -EINVAL; +@@ -1075,9 +1075,9 @@ int mwl_fwcmd_max_tx_power(struct ieee80 + break; + } + +- if (channel->band == IEEE80211_BAND_2GHZ) ++ if (channel->band == NL80211_BAND_2GHZ) + band = FREQ_BAND_2DOT4GHZ; +- else if (channel->band == IEEE80211_BAND_5GHZ) ++ else if (channel->band == NL80211_BAND_5GHZ) + band = FREQ_BAND_5GHZ; + + switch (conf->chandef.width) { +@@ -1161,9 +1161,9 @@ int mwl_fwcmd_tx_power(struct ieee80211_ + break; + } + +- if (channel->band == IEEE80211_BAND_2GHZ) ++ if (channel->band == NL80211_BAND_2GHZ) + band = FREQ_BAND_2DOT4GHZ; +- else if (channel->band == IEEE80211_BAND_5GHZ) ++ else if (channel->band == NL80211_BAND_5GHZ) + band = FREQ_BAND_5GHZ; + + switch (conf->chandef.width) { +@@ -1354,9 +1354,9 @@ int mwl_fwcmd_set_rf_channel(struct ieee + pcmd->action = cpu_to_le16(WL_SET); + pcmd->curr_chnl = channel->hw_value; + +- if (channel->band == IEEE80211_BAND_2GHZ) { ++ if (channel->band == NL80211_BAND_2GHZ) { + freq_band = FREQ_BAND_2DOT4GHZ; +- } else if (channel->band == IEEE80211_BAND_5GHZ) { ++ } else if (channel->band == NL80211_BAND_5GHZ) { + freq_band = FREQ_BAND_5GHZ; + } else { + mutex_unlock(&priv->fwcmd_mutex); +@@ -1923,10 +1923,10 @@ int mwl_fwcmd_set_new_stn_add(struct iee + } + ether_addr_copy(pcmd->mac_addr, sta->addr); + +- if (hw->conf.chandef.chan->band == IEEE80211_BAND_2GHZ) +- rates = sta->supp_rates[IEEE80211_BAND_2GHZ]; ++ if (hw->conf.chandef.chan->band == NL80211_BAND_2GHZ) ++ rates = sta->supp_rates[NL80211_BAND_2GHZ]; + else +- rates = sta->supp_rates[IEEE80211_BAND_5GHZ] << 5; ++ rates = sta->supp_rates[NL80211_BAND_5GHZ] << 5; + pcmd->peer_info.legacy_rate_bitmap = cpu_to_le32(rates); + + if (sta->ht_cap.ht_supported) { +@@ -2097,9 +2097,9 @@ int mwl_fwcmd_set_switch_channel(struct + if (priv->csa_active) + return 0; + +- if (channel->band == IEEE80211_BAND_2GHZ) ++ if (channel->band == NL80211_BAND_2GHZ) + freq_band = FREQ_BAND_2DOT4GHZ; +- else if (channel->band == IEEE80211_BAND_5GHZ) ++ else if (channel->band == NL80211_BAND_5GHZ) + freq_band = FREQ_BAND_5GHZ; + else + return -EINVAL; +--- a/main.c ++++ b/main.c +@@ -63,20 +63,20 @@ static struct mwl_chip_info mwl_chip_tbl + }; + + static const struct ieee80211_channel mwl_channels_24[] = { +- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2412, .hw_value = 1, }, +- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2417, .hw_value = 2, }, +- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2422, .hw_value = 3, }, +- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2427, .hw_value = 4, }, +- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2432, .hw_value = 5, }, +- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2437, .hw_value = 6, }, +- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2442, .hw_value = 7, }, +- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2447, .hw_value = 8, }, +- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2452, .hw_value = 9, }, +- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2457, .hw_value = 10, }, +- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2462, .hw_value = 11, }, +- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2467, .hw_value = 12, }, +- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2472, .hw_value = 13, }, +- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2484, .hw_value = 14, }, ++ { .band = NL80211_BAND_2GHZ, .center_freq = 2412, .hw_value = 1, }, ++ { .band = NL80211_BAND_2GHZ, .center_freq = 2417, .hw_value = 2, }, ++ { .band = NL80211_BAND_2GHZ, .center_freq = 2422, .hw_value = 3, }, ++ { .band = NL80211_BAND_2GHZ, .center_freq = 2427, .hw_value = 4, }, ++ { .band = NL80211_BAND_2GHZ, .center_freq = 2432, .hw_value = 5, }, ++ { .band = NL80211_BAND_2GHZ, .center_freq = 2437, .hw_value = 6, }, ++ { .band = NL80211_BAND_2GHZ, .center_freq = 2442, .hw_value = 7, }, ++ { .band = NL80211_BAND_2GHZ, .center_freq = 2447, .hw_value = 8, }, ++ { .band = NL80211_BAND_2GHZ, .center_freq = 2452, .hw_value = 9, }, ++ { .band = NL80211_BAND_2GHZ, .center_freq = 2457, .hw_value = 10, }, ++ { .band = NL80211_BAND_2GHZ, .center_freq = 2462, .hw_value = 11, }, ++ { .band = NL80211_BAND_2GHZ, .center_freq = 2467, .hw_value = 12, }, ++ { .band = NL80211_BAND_2GHZ, .center_freq = 2472, .hw_value = 13, }, ++ { .band = NL80211_BAND_2GHZ, .center_freq = 2484, .hw_value = 14, }, + }; + + static const struct ieee80211_rate mwl_rates_24[] = { +@@ -96,30 +96,30 @@ static const struct ieee80211_rate mwl_r + }; + + static const struct ieee80211_channel mwl_channels_50[] = { +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5180, .hw_value = 36, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5200, .hw_value = 40, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5220, .hw_value = 44, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5240, .hw_value = 48, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5260, .hw_value = 52, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5280, .hw_value = 56, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5300, .hw_value = 60, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5320, .hw_value = 64, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5500, .hw_value = 100, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5520, .hw_value = 104, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5540, .hw_value = 108, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5560, .hw_value = 112, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5580, .hw_value = 116, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5600, .hw_value = 120, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5620, .hw_value = 124, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5640, .hw_value = 128, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5660, .hw_value = 132, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5680, .hw_value = 136, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5700, .hw_value = 140, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5720, .hw_value = 144, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5745, .hw_value = 149, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5765, .hw_value = 153, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5785, .hw_value = 157, }, +- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5805, .hw_value = 161, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5180, .hw_value = 36, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5200, .hw_value = 40, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5220, .hw_value = 44, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5240, .hw_value = 48, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5260, .hw_value = 52, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5280, .hw_value = 56, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5300, .hw_value = 60, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5320, .hw_value = 64, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5500, .hw_value = 100, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5520, .hw_value = 104, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5540, .hw_value = 108, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5560, .hw_value = 112, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5580, .hw_value = 116, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5600, .hw_value = 120, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5620, .hw_value = 124, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5640, .hw_value = 128, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5660, .hw_value = 132, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5680, .hw_value = 136, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5700, .hw_value = 140, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5720, .hw_value = 144, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5745, .hw_value = 149, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5765, .hw_value = 153, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5785, .hw_value = 157, }, ++ { .band = NL80211_BAND_5GHZ, .center_freq = 5805, .hw_value = 161, }, + }; + + static const struct ieee80211_rate mwl_rates_50[] = { +@@ -478,7 +478,7 @@ static void mwl_set_caps(struct mwl_priv + BUILD_BUG_ON(sizeof(priv->rates_24) != sizeof(mwl_rates_24)); + memcpy(priv->rates_24, mwl_rates_24, sizeof(mwl_rates_24)); + +- priv->band_24.band = IEEE80211_BAND_2GHZ; ++ priv->band_24.band = NL80211_BAND_2GHZ; + priv->band_24.channels = priv->channels_24; + priv->band_24.n_channels = ARRAY_SIZE(mwl_channels_24); + priv->band_24.bitrates = priv->rates_24; +@@ -487,7 +487,7 @@ static void mwl_set_caps(struct mwl_priv + mwl_set_ht_caps(priv, &priv->band_24); + mwl_set_vht_caps(priv, &priv->band_24); + +- hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &priv->band_24; ++ hw->wiphy->bands[NL80211_BAND_2GHZ] = &priv->band_24; + } + + /* set up band information for 5G */ +@@ -500,7 +500,7 @@ static void mwl_set_caps(struct mwl_priv + BUILD_BUG_ON(sizeof(priv->rates_50) != sizeof(mwl_rates_50)); + memcpy(priv->rates_50, mwl_rates_50, sizeof(mwl_rates_50)); + +- priv->band_50.band = IEEE80211_BAND_5GHZ; ++ priv->band_50.band = NL80211_BAND_5GHZ; + priv->band_50.channels = priv->channels_50; + priv->band_50.n_channels = ARRAY_SIZE(mwl_channels_50); + priv->band_50.bitrates = priv->rates_50; +@@ -509,7 +509,7 @@ static void mwl_set_caps(struct mwl_priv + mwl_set_ht_caps(priv, &priv->band_50); + mwl_set_vht_caps(priv, &priv->band_50); + +- hw->wiphy->bands[IEEE80211_BAND_5GHZ] = &priv->band_50; ++ hw->wiphy->bands[NL80211_BAND_5GHZ] = &priv->band_50; + } + } + +--- a/rx.c ++++ b/rx.c +@@ -243,7 +243,7 @@ static inline void mwl_rx_prepare_status + status->rate_idx = rt; + + if (pdesc->channel > BAND_24_CHANNEL_NUM) { +- status->band = IEEE80211_BAND_5GHZ; ++ status->band = NL80211_BAND_5GHZ; + if ((!(status->flag & RX_FLAG_HT)) && + (!(status->flag & RX_FLAG_VHT))) { + status->rate_idx -= 5; +@@ -251,7 +251,7 @@ static inline void mwl_rx_prepare_status + status->rate_idx = BAND_50_RATE_NUM - 1; + } + } else { +- status->band = IEEE80211_BAND_2GHZ; ++ status->band = NL80211_BAND_2GHZ; + if ((!(status->flag & RX_FLAG_HT)) && + (!(status->flag & RX_FLAG_VHT))) { + if (status->rate_idx >= BAND_24_RATE_NUM) -- cgit v1.2.3