mac80211: use oper_channel in rate init
authorJohannes Berg <johannes.berg@intel.com>
Mon, 23 Jul 2012 12:29:21 +0000 (14:29 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 20 Aug 2012 12:13:41 +0000 (14:13 +0200)
Using hw.conf.channel is wrong as it could be the
temporary channel if the station is added from the
workqueue while the device is already on another
channel. Use oper_channel instead.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/rate.h

index 6e4fd32..10de668 100644 (file)
@@ -56,7 +56,7 @@ static inline void rate_control_rate_init(struct sta_info *sta)
        if (!ref)
                return;
 
-       sband = local->hw.wiphy->bands[local->hw.conf.channel->band];
+       sband = local->hw.wiphy->bands[local->oper_channel->band];
 
        ref->ops->rate_init(ref->priv, sband, ista, priv_sta);
        set_sta_flag(sta, WLAN_STA_RATE_CONTROL);