diff options
author | Rajkumar Manoharan <rmanoharan@atheros.com> | 2011-05-20 08:22:15 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-05-26 15:43:33 -0400 |
commit | 1d38c16ce4156f63b45abbd09dd28ca2ef5172b4 (patch) | |
tree | a8ca2168580e0b1ce59252729584d12dba72cbea /net/mac80211 | |
parent | 41e2b05b9598d6bdf91fc20280bfc538d853f769 (diff) |
mac80211: stop queues before rate control updation
Stop tx queues before updating rate control to ensure
proper rate selection. Otherwise packets can be transmitted
in 40 Mhz whereas hw is configured in HT20.
Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/mlme.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 4f6b2675e41d..746595597b68 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c | |||
@@ -232,6 +232,9 @@ static u32 ieee80211_enable_ht(struct ieee80211_sub_if_data *sdata, | |||
232 | WARN_ON(!ieee80211_set_channel_type(local, sdata, channel_type)); | 232 | WARN_ON(!ieee80211_set_channel_type(local, sdata, channel_type)); |
233 | } | 233 | } |
234 | 234 | ||
235 | ieee80211_stop_queues_by_reason(&sdata->local->hw, | ||
236 | IEEE80211_QUEUE_STOP_REASON_CSA); | ||
237 | |||
235 | /* channel_type change automatically detected */ | 238 | /* channel_type change automatically detected */ |
236 | ieee80211_hw_config(local, 0); | 239 | ieee80211_hw_config(local, 0); |
237 | 240 | ||
@@ -245,6 +248,9 @@ static u32 ieee80211_enable_ht(struct ieee80211_sub_if_data *sdata, | |||
245 | rcu_read_unlock(); | 248 | rcu_read_unlock(); |
246 | } | 249 | } |
247 | 250 | ||
251 | ieee80211_wake_queues_by_reason(&sdata->local->hw, | ||
252 | IEEE80211_QUEUE_STOP_REASON_CSA); | ||
253 | |||
248 | ht_opmode = le16_to_cpu(hti->operation_mode); | 254 | ht_opmode = le16_to_cpu(hti->operation_mode); |
249 | 255 | ||
250 | /* if bss configuration changed store the new one */ | 256 | /* if bss configuration changed store the new one */ |