From: Jes Sorensen Date: Tue, 3 Jun 2014 23:41:22 +0200 Subject: [021/249] staging: rtl8723au: rtw_update_ht_cap23a(): Use correct mask when determining 40MHz channel location Origin: https://git.kernel.org/linus/b2775415844e89d528a0c40f81caedd6aad595f7 commit 4dc5f8bab2663b902b9cb0be29198dbbf38aa3fb Author: Jes Sorensen Date: Tue May 27 13:43:12 2014 +0200 staging: rtl8723au: Eliminate struct HT_info_element Yet another duplicate version of struct ieee80211_ht_operation Signed-off-by: Jes Sorensen introduced a bad error, applying the wrong value as the mask when determining the location of the 40MHz channel, effectively making it always determining it as not present. This caused hangs and delays when running in 40MHz channel mode. This should get it right. Signed-off-by: Jes Sorensen Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723au/core/rtw_mlme.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8723au/core/rtw_mlme.c b/drivers/staging/rtl8723au/core/rtw_mlme.c index 9982886..76e1797 100644 --- a/drivers/staging/rtl8723au/core/rtw_mlme.c +++ b/drivers/staging/rtl8723au/core/rtw_mlme.c @@ -2340,7 +2340,7 @@ 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.ht_param & - IEEE80211_HT_PARAM_CHAN_WIDTH_ANY) { + IEEE80211_HT_PARAM_CHA_SEC_OFFSET) { case IEEE80211_HT_PARAM_CHA_SEC_ABOVE: pmlmeext->cur_ch_offset = HAL_PRIME_CHNL_OFFSET_LOWER; break;