diff options
Diffstat (limited to 'net/mac80211/spectmgmt.c')
-rw-r--r-- | net/mac80211/spectmgmt.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/mac80211/spectmgmt.c b/net/mac80211/spectmgmt.c index 8d4ec2968f8f..47bb2aed2813 100644 --- a/net/mac80211/spectmgmt.c +++ b/net/mac80211/spectmgmt.c | |||
@@ -102,8 +102,9 @@ void ieee80211_chswitch_work(struct work_struct *work) | |||
102 | goto exit; | 102 | goto exit; |
103 | 103 | ||
104 | sdata->local->oper_channel = sdata->local->csa_channel; | 104 | sdata->local->oper_channel = sdata->local->csa_channel; |
105 | /* XXX: shouldn't really modify cfg80211-owned data! */ | ||
105 | if (!ieee80211_hw_config(sdata->local, IEEE80211_CONF_CHANGE_CHANNEL)) | 106 | if (!ieee80211_hw_config(sdata->local, IEEE80211_CONF_CHANGE_CHANNEL)) |
106 | bss->freq = sdata->local->oper_channel->center_freq; | 107 | bss->cbss.channel = sdata->local->oper_channel; |
107 | 108 | ||
108 | ieee80211_rx_bss_put(sdata->local, bss); | 109 | ieee80211_rx_bss_put(sdata->local, bss); |
109 | exit: | 110 | exit: |
@@ -158,7 +159,9 @@ void ieee80211_process_chanswitch(struct ieee80211_sub_if_data *sdata, | |||
158 | IEEE80211_QUEUE_STOP_REASON_CSA); | 159 | IEEE80211_QUEUE_STOP_REASON_CSA); |
159 | ifsta->flags |= IEEE80211_STA_CSA_RECEIVED; | 160 | ifsta->flags |= IEEE80211_STA_CSA_RECEIVED; |
160 | mod_timer(&ifsta->chswitch_timer, | 161 | mod_timer(&ifsta->chswitch_timer, |
161 | jiffies + msecs_to_jiffies(sw_elem->count * bss->beacon_int)); | 162 | jiffies + |
163 | msecs_to_jiffies(sw_elem->count * | ||
164 | bss->cbss.beacon_interval)); | ||
162 | } | 165 | } |
163 | } | 166 | } |
164 | 167 | ||