mac80211: Fix HT rate control configuration
Handling HT configuration changes involved setting the channel with the new HT parameters and then issuing a rate_update() notification to the driver. This behavior changed after the off-channel changes. Now, the channel is not updated with the new HT params in enable_ht() - instead, it is now done when the scan work terminates. This results in the driver depending on stale information, defaulting to non-HT mode always. Fix this by passing the new channel type to the driver. Cc: stable@kernel.org Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
+3
-2
@@ -66,7 +66,8 @@ static inline void rate_control_rate_init(struct sta_info *sta)
|
||||
|
||||
static inline void rate_control_rate_update(struct ieee80211_local *local,
|
||||
struct ieee80211_supported_band *sband,
|
||||
struct sta_info *sta, u32 changed)
|
||||
struct sta_info *sta, u32 changed,
|
||||
enum nl80211_channel_type oper_chan_type)
|
||||
{
|
||||
struct rate_control_ref *ref = local->rate_ctrl;
|
||||
struct ieee80211_sta *ista = &sta->sta;
|
||||
@@ -74,7 +75,7 @@ static inline void rate_control_rate_update(struct ieee80211_local *local,
|
||||
|
||||
if (ref && ref->ops->rate_update)
|
||||
ref->ops->rate_update(ref->priv, sband, ista,
|
||||
priv_sta, changed);
|
||||
priv_sta, changed, oper_chan_type);
|
||||
}
|
||||
|
||||
static inline void *rate_control_alloc_sta(struct rate_control_ref *ref,
|
||||
|
||||
Reference in New Issue
Block a user