aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r--net/mac80211/main.c23
1 files changed, 6 insertions, 17 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index b887e484ae04..d763d76e809f 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -111,7 +111,7 @@ int ieee80211_hw_config(struct ieee80211_local *local, u32 changed)
111 channel_type = local->tmp_channel_type; 111 channel_type = local->tmp_channel_type;
112 } else { 112 } else {
113 chan = local->oper_channel; 113 chan = local->oper_channel;
114 channel_type = local->oper_channel_type; 114 channel_type = local->_oper_channel_type;
115 } 115 }
116 116
117 if (chan != local->hw.conf.channel || 117 if (chan != local->hw.conf.channel ||
@@ -309,6 +309,8 @@ void ieee80211_restart_hw(struct ieee80211_hw *hw)
309{ 309{
310 struct ieee80211_local *local = hw_to_local(hw); 310 struct ieee80211_local *local = hw_to_local(hw);
311 311
312 trace_api_restart_hw(local);
313
312 /* use this reason, __ieee80211_resume will unblock it */ 314 /* use this reason, __ieee80211_resume will unblock it */
313 ieee80211_stop_queues_by_reason(hw, 315 ieee80211_stop_queues_by_reason(hw,
314 IEEE80211_QUEUE_STOP_REASON_SUSPEND); 316 IEEE80211_QUEUE_STOP_REASON_SUSPEND);
@@ -437,7 +439,7 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
437 struct ieee80211_local *local = hw_to_local(hw); 439 struct ieee80211_local *local = hw_to_local(hw);
438 int result; 440 int result;
439 enum ieee80211_band band; 441 enum ieee80211_band band;
440 int channels, i, j, max_bitrates; 442 int channels, max_bitrates;
441 bool supp_ht; 443 bool supp_ht;
442 static const u32 cipher_suites[] = { 444 static const u32 cipher_suites[] = {
443 WLAN_CIPHER_SUITE_WEP40, 445 WLAN_CIPHER_SUITE_WEP40,
@@ -567,6 +569,8 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
567 569
568 local->hw.conf.listen_interval = local->hw.max_listen_interval; 570 local->hw.conf.listen_interval = local->hw.max_listen_interval;
569 571
572 local->hw.conf.dynamic_ps_forced_timeout = -1;
573
570 result = sta_info_start(local); 574 result = sta_info_start(local);
571 if (result < 0) 575 if (result < 0)
572 goto fail_sta_info; 576 goto fail_sta_info;
@@ -601,21 +605,6 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
601 605
602 ieee80211_led_init(local); 606 ieee80211_led_init(local);
603 607
604 /* alloc internal scan request */
605 i = 0;
606 local->int_scan_req->ssids = &local->scan_ssid;
607 local->int_scan_req->n_ssids = 1;
608 for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
609 if (!hw->wiphy->bands[band])
610 continue;
611 for (j = 0; j < hw->wiphy->bands[band]->n_channels; j++) {
612 local->int_scan_req->channels[i] =
613 &hw->wiphy->bands[band]->channels[j];
614 i++;
615 }
616 }
617 local->int_scan_req->n_channels = i;
618
619 local->network_latency_notifier.notifier_call = 608 local->network_latency_notifier.notifier_call =
620 ieee80211_max_network_latency; 609 ieee80211_max_network_latency;
621 result = pm_qos_add_notifier(PM_QOS_NETWORK_LATENCY, 610 result = pm_qos_add_notifier(PM_QOS_NETWORK_LATENCY,