diff options
author | Ganapathi Bhat <gbhat@marvell.com> | 2018-03-09 23:45:24 +0530 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2018-03-13 18:53:45 +0200 |
commit | 53a7094204b7f2b9016648b5c4b5ece8e810a461 (patch) | |
tree | 054739a6f47c645b5c22a406eb5e2ae578dcc62b /drivers/net | |
parent | eaab43e505d01ed19f63e08e52252cbc1c69b9b9 (diff) | |
download | linux-stable-53a7094204b7f2b9016648b5c4b5ece8e810a461.tar.gz linux-stable-53a7094204b7f2b9016648b5c4b5ece8e810a461.tar.bz2 linux-stable-53a7094204b7f2b9016648b5c4b5ece8e810a461.zip |
Revert "mwifiex: fix incorrect ht capability problem"
This reverts commit bcc920e8f08336cbbdcdba7c4449c27137e6b4b9.
Drivers gets hardware info and updates ht_cap field of
wiphy->bands during initialization. Once updated during init,
ht_cap must not be modified as it reflects the capability
supported by hardwawre. Above patch tries to modify the ht_cap
field and this results in wrongly advertising capabilities during
association.
Signed-off-by: Cathy Luo <cluo@marvell.com>
Signed-off-by: Ganapathi Bhat <gbhat@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/marvell/mwifiex/sta_ioctl.c | 44 |
1 files changed, 1 insertions, 43 deletions
diff --git a/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c b/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c index a6077ab3efc3..ed66f12d3301 100644 --- a/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c +++ b/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c @@ -146,7 +146,6 @@ int mwifiex_fill_new_bss_desc(struct mwifiex_private *priv, size_t beacon_ie_len; struct mwifiex_bss_priv *bss_priv = (void *)bss->priv; const struct cfg80211_bss_ies *ies; - int ret; rcu_read_lock(); ies = rcu_dereference(bss->ies); @@ -190,48 +189,7 @@ int mwifiex_fill_new_bss_desc(struct mwifiex_private *priv, if (bss_desc->cap_info_bitmap & WLAN_CAPABILITY_SPECTRUM_MGMT) bss_desc->sensed_11h = true; - ret = mwifiex_update_bss_desc_with_ie(priv->adapter, bss_desc); - if (ret) - return ret; - - /* Update HT40 capability based on current channel information */ - if (bss_desc->bcn_ht_oper && bss_desc->bcn_ht_cap) { - u8 ht_param = bss_desc->bcn_ht_oper->ht_param; - u8 radio = mwifiex_band_to_radio_type(bss_desc->bss_band); - struct ieee80211_supported_band *sband = - priv->wdev.wiphy->bands[radio]; - int freq = ieee80211_channel_to_frequency(bss_desc->channel, - radio); - struct ieee80211_channel *chan = - ieee80211_get_channel(priv->adapter->wiphy, freq); - - switch (ht_param & IEEE80211_HT_PARAM_CHA_SEC_OFFSET) { - case IEEE80211_HT_PARAM_CHA_SEC_ABOVE: - if (chan->flags & IEEE80211_CHAN_NO_HT40PLUS) { - sband->ht_cap.cap &= - ~IEEE80211_HT_CAP_SUP_WIDTH_20_40; - sband->ht_cap.cap &= ~IEEE80211_HT_CAP_SGI_40; - } else { - sband->ht_cap.cap |= - IEEE80211_HT_CAP_SUP_WIDTH_20_40 | - IEEE80211_HT_CAP_SGI_40; - } - break; - case IEEE80211_HT_PARAM_CHA_SEC_BELOW: - if (chan->flags & IEEE80211_CHAN_NO_HT40MINUS) { - sband->ht_cap.cap &= - ~IEEE80211_HT_CAP_SUP_WIDTH_20_40; - sband->ht_cap.cap &= ~IEEE80211_HT_CAP_SGI_40; - } else { - sband->ht_cap.cap |= - IEEE80211_HT_CAP_SUP_WIDTH_20_40 | - IEEE80211_HT_CAP_SGI_40; - } - break; - } - } - - return 0; + return mwifiex_update_bss_desc_with_ie(priv->adapter, bss_desc); } void mwifiex_dnld_txpwr_table(struct mwifiex_private *priv) |