diff options
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r-- | net/mac80211/main.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c index 866f269183c..3d90dadb5d5 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c | |||
@@ -742,6 +742,12 @@ int ieee80211_register_hw(struct ieee80211_hw *hw) | |||
742 | if (!local->int_scan_req) | 742 | if (!local->int_scan_req) |
743 | return -ENOMEM; | 743 | return -ENOMEM; |
744 | 744 | ||
745 | for (band = 0; band < IEEE80211_NUM_BANDS; band++) { | ||
746 | if (!local->hw.wiphy->bands[band]) | ||
747 | continue; | ||
748 | local->int_scan_req->rates[band] = (u32) -1; | ||
749 | } | ||
750 | |||
745 | /* if low-level driver supports AP, we also support VLAN */ | 751 | /* if low-level driver supports AP, we also support VLAN */ |
746 | if (local->hw.wiphy->interface_modes & BIT(NL80211_IFTYPE_AP)) { | 752 | if (local->hw.wiphy->interface_modes & BIT(NL80211_IFTYPE_AP)) { |
747 | hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_AP_VLAN); | 753 | hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_AP_VLAN); |
@@ -1012,7 +1018,6 @@ void ieee80211_unregister_hw(struct ieee80211_hw *hw) | |||
1012 | cancel_work_sync(&local->reconfig_filter); | 1018 | cancel_work_sync(&local->reconfig_filter); |
1013 | 1019 | ||
1014 | ieee80211_clear_tx_pending(local); | 1020 | ieee80211_clear_tx_pending(local); |
1015 | sta_info_stop(local); | ||
1016 | rate_control_deinitialize(local); | 1021 | rate_control_deinitialize(local); |
1017 | 1022 | ||
1018 | if (skb_queue_len(&local->skb_queue) || | 1023 | if (skb_queue_len(&local->skb_queue) || |
@@ -1024,6 +1029,7 @@ void ieee80211_unregister_hw(struct ieee80211_hw *hw) | |||
1024 | 1029 | ||
1025 | destroy_workqueue(local->workqueue); | 1030 | destroy_workqueue(local->workqueue); |
1026 | wiphy_unregister(local->hw.wiphy); | 1031 | wiphy_unregister(local->hw.wiphy); |
1032 | sta_info_stop(local); | ||
1027 | ieee80211_wep_free(local); | 1033 | ieee80211_wep_free(local); |
1028 | ieee80211_led_exit(local); | 1034 | ieee80211_led_exit(local); |
1029 | kfree(local->int_scan_req); | 1035 | kfree(local->int_scan_req); |