diff options
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r-- | net/mac80211/main.c | 23 |
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, |