mac80211: set HT channel before association
Changing the channel type during operation is confusing to some drivers and will be hard to handle in multi-channel scenarios. Instead of changing the channel, set it to the right HT channel before authenticating/associating and don't change it -- just update the 20/40 MHz restrictions in rate control as needed when changed by the AP. This also fixes a problem that Paul missed in his fix for the "regulatory makes us deaf" issue -- when we couldn't use 40 MHz we still associated saying we were using 40 MHz, which could in similarly broken APs make us never even connect successfully. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
1d98fb122d
commit
24398e39c8
@@ -19,15 +19,6 @@
|
||||
#include "ieee80211_i.h"
|
||||
#include "rate.h"
|
||||
|
||||
bool ieee80111_cfg_override_disables_ht40(struct ieee80211_sub_if_data *sdata)
|
||||
{
|
||||
const __le16 flg = cpu_to_le16(IEEE80211_HT_CAP_SUP_WIDTH_20_40);
|
||||
if ((sdata->u.mgd.ht_capa_mask.cap_info & flg) &&
|
||||
!(sdata->u.mgd.ht_capa.cap_info & flg))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
static void __check_htcap_disable(struct ieee80211_sub_if_data *sdata,
|
||||
struct ieee80211_sta_ht_cap *ht_cap,
|
||||
u16 flag)
|
||||
|
Reference in New Issue
Block a user