diff options
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r-- | net/mac80211/util.c | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 61876eb50b49..97b613affe08 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <net/rtnetlink.h> | 26 | #include <net/rtnetlink.h> |
27 | 27 | ||
28 | #include "ieee80211_i.h" | 28 | #include "ieee80211_i.h" |
29 | #include "driver-ops.h" | ||
29 | #include "rate.h" | 30 | #include "rate.h" |
30 | #include "mesh.h" | 31 | #include "mesh.h" |
31 | #include "wme.h" | 32 | #include "wme.h" |
@@ -726,7 +727,7 @@ void ieee80211_set_wmm_default(struct ieee80211_sub_if_data *sdata) | |||
726 | qparam.txop = 0; | 727 | qparam.txop = 0; |
727 | 728 | ||
728 | for (i = 0; i < local_to_hw(local)->queues; i++) | 729 | for (i = 0; i < local_to_hw(local)->queues; i++) |
729 | local->ops->conf_tx(local_to_hw(local), i, &qparam); | 730 | drv_conf_tx(local, i, &qparam); |
730 | } | 731 | } |
731 | 732 | ||
732 | void ieee80211_sta_def_wmm_params(struct ieee80211_sub_if_data *sdata, | 733 | void ieee80211_sta_def_wmm_params(struct ieee80211_sub_if_data *sdata, |
@@ -1000,7 +1001,7 @@ int ieee80211_reconfig(struct ieee80211_local *local) | |||
1000 | 1001 | ||
1001 | /* restart hardware */ | 1002 | /* restart hardware */ |
1002 | if (local->open_count) { | 1003 | if (local->open_count) { |
1003 | res = local->ops->start(hw); | 1004 | res = drv_start(local); |
1004 | 1005 | ||
1005 | ieee80211_led_radio(local, hw->conf.radio_enabled); | 1006 | ieee80211_led_radio(local, hw->conf.radio_enabled); |
1006 | } | 1007 | } |
@@ -1013,7 +1014,7 @@ int ieee80211_reconfig(struct ieee80211_local *local) | |||
1013 | conf.vif = &sdata->vif; | 1014 | conf.vif = &sdata->vif; |
1014 | conf.type = sdata->vif.type; | 1015 | conf.type = sdata->vif.type; |
1015 | conf.mac_addr = sdata->dev->dev_addr; | 1016 | conf.mac_addr = sdata->dev->dev_addr; |
1016 | res = local->ops->add_interface(hw, &conf); | 1017 | res = drv_add_interface(local, &conf); |
1017 | } | 1018 | } |
1018 | } | 1019 | } |
1019 | 1020 | ||
@@ -1026,8 +1027,8 @@ int ieee80211_reconfig(struct ieee80211_local *local) | |||
1026 | struct ieee80211_sub_if_data, | 1027 | struct ieee80211_sub_if_data, |
1027 | u.ap); | 1028 | u.ap); |
1028 | 1029 | ||
1029 | local->ops->sta_notify(hw, &sdata->vif, | 1030 | drv_sta_notify(local, &sdata->vif, STA_NOTIFY_ADD, |
1030 | STA_NOTIFY_ADD, &sta->sta); | 1031 | &sta->sta); |
1031 | } | 1032 | } |
1032 | spin_unlock_irqrestore(&local->sta_lock, flags); | 1033 | spin_unlock_irqrestore(&local->sta_lock, flags); |
1033 | } | 1034 | } |
@@ -1045,8 +1046,7 @@ int ieee80211_reconfig(struct ieee80211_local *local) | |||
1045 | rcu_read_unlock(); | 1046 | rcu_read_unlock(); |
1046 | 1047 | ||
1047 | /* setup RTS threshold */ | 1048 | /* setup RTS threshold */ |
1048 | if (local->ops->set_rts_threshold) | 1049 | drv_set_rts_threshold(local, hw->wiphy->rts_threshold); |
1049 | local->ops->set_rts_threshold(hw, hw->wiphy->rts_threshold); | ||
1050 | 1050 | ||
1051 | /* reconfigure hardware */ | 1051 | /* reconfigure hardware */ |
1052 | ieee80211_hw_config(local, ~0); | 1052 | ieee80211_hw_config(local, ~0); |
@@ -1063,24 +1063,13 @@ int ieee80211_reconfig(struct ieee80211_local *local) | |||
1063 | switch (sdata->vif.type) { | 1063 | switch (sdata->vif.type) { |
1064 | case NL80211_IFTYPE_STATION: | 1064 | case NL80211_IFTYPE_STATION: |
1065 | /* disable beacon change bits */ | 1065 | /* disable beacon change bits */ |
1066 | changed &= ~IEEE80211_IFCC_BEACON; | 1066 | changed &= ~(BSS_CHANGED_BEACON | |
1067 | BSS_CHANGED_BEACON_ENABLED); | ||
1067 | /* fall through */ | 1068 | /* fall through */ |
1068 | case NL80211_IFTYPE_ADHOC: | 1069 | case NL80211_IFTYPE_ADHOC: |
1069 | case NL80211_IFTYPE_AP: | 1070 | case NL80211_IFTYPE_AP: |
1070 | case NL80211_IFTYPE_MESH_POINT: | 1071 | case NL80211_IFTYPE_MESH_POINT: |
1071 | /* | 1072 | ieee80211_bss_info_change_notify(sdata, changed); |
1072 | * Driver's config_interface can fail if rfkill is | ||
1073 | * enabled. Accommodate this return code. | ||
1074 | * FIXME: When mac80211 has knowledge of rfkill | ||
1075 | * state the code below can change back to: | ||
1076 | * WARN(ieee80211_if_config(sdata, changed)); | ||
1077 | * ieee80211_bss_info_change_notify(sdata, ~0); | ||
1078 | */ | ||
1079 | if (ieee80211_if_config(sdata, changed)) | ||
1080 | printk(KERN_DEBUG "%s: failed to configure interface during resume\n", | ||
1081 | sdata->dev->name); | ||
1082 | else | ||
1083 | ieee80211_bss_info_change_notify(sdata, ~0); | ||
1084 | break; | 1073 | break; |
1085 | case NL80211_IFTYPE_WDS: | 1074 | case NL80211_IFTYPE_WDS: |
1086 | break; | 1075 | break; |