aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-sta.h
diff options
context:
space:
mode:
authorReinette Chatre <reinette.chatre@intel.com>2010-02-22 19:24:47 -0500
committerReinette Chatre <reinette.chatre@intel.com>2010-03-19 16:40:58 -0400
commitfe6b23dd361199bfbc50b0cbce6bed37c5797c75 (patch)
tree96acb9c114342d7dc731310159dc4195248d115e /drivers/net/wireless/iwlwifi/iwl-sta.h
parent7e2461910e9115c9964975f77584baf8c2f76bfe (diff)
iwlwifi: implement new mac80211 station add/remove calls
mac80211 recently implemented two new callbacks that are used to request station add/remove from the driver. The benefot from these new callbacks are that they enable the driver to sleep while performing this work. This is a big patch since a few things need to be coordinated in this move. First we need to decouple station management from rate scaling, which caused a lot of code to be moved and/or deleted. Next we needed to tie in with mac80211's station management callback and let it direct our station management as well as trigger the rate scaling initialization. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-sta.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-sta.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-sta.h b/drivers/net/wireless/iwlwifi/iwl-sta.h
index 50367e83defd..87a34997a758 100644
--- a/drivers/net/wireless/iwlwifi/iwl-sta.h
+++ b/drivers/net/wireless/iwlwifi/iwl-sta.h
@@ -57,10 +57,8 @@ void iwl_update_tkip_key(struct iwl_priv *priv,
57 struct ieee80211_key_conf *keyconf, 57 struct ieee80211_key_conf *keyconf,
58 const u8 *addr, u32 iv32, u16 *phase1key); 58 const u8 *addr, u32 iv32, u16 *phase1key);
59 59
60int iwl_rxon_add_station(struct iwl_priv *priv, const u8 *addr, bool is_ap);
61void iwl_add_bcast_station(struct iwl_priv *priv); 60void iwl_add_bcast_station(struct iwl_priv *priv);
62void iwl3945_add_bcast_station(struct iwl_priv *priv); 61void iwl3945_add_bcast_station(struct iwl_priv *priv);
63int iwl_remove_station(struct iwl_priv *priv, const u8 *addr, bool is_ap);
64void iwl_restore_stations(struct iwl_priv *priv); 62void iwl_restore_stations(struct iwl_priv *priv);
65void iwl_clear_ucode_stations(struct iwl_priv *priv, bool force); 63void iwl_clear_ucode_stations(struct iwl_priv *priv, bool force);
66int iwl_get_free_ucode_key_index(struct iwl_priv *priv); 64int iwl_get_free_ucode_key_index(struct iwl_priv *priv);
@@ -68,8 +66,13 @@ int iwl_get_sta_id(struct iwl_priv *priv, struct ieee80211_hdr *hdr);
68int iwl_get_ra_sta_id(struct iwl_priv *priv, struct ieee80211_hdr *hdr); 66int iwl_get_ra_sta_id(struct iwl_priv *priv, struct ieee80211_hdr *hdr);
69int iwl_send_add_sta(struct iwl_priv *priv, 67int iwl_send_add_sta(struct iwl_priv *priv,
70 struct iwl_addsta_cmd *sta, u8 flags); 68 struct iwl_addsta_cmd *sta, u8 flags);
71u8 iwl_add_station(struct iwl_priv *priv, const u8 *addr, bool is_ap, u8 flags, 69int iwl_add_local_station(struct iwl_priv *priv, const u8 *addr, bool init_rs);
72 struct ieee80211_sta_ht_cap *ht_info); 70int iwl_add_station_common(struct iwl_priv *priv, const u8 *addr,
71 bool is_ap,
72 struct ieee80211_sta_ht_cap *ht_info,
73 u8 *sta_id_r);
74int iwl_mac_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
75 struct ieee80211_sta *sta);
73void iwl_sta_tx_modify_enable_tid(struct iwl_priv *priv, int sta_id, int tid); 76void iwl_sta_tx_modify_enable_tid(struct iwl_priv *priv, int sta_id, int tid);
74int iwl_sta_rx_agg_start(struct iwl_priv *priv, 77int iwl_sta_rx_agg_start(struct iwl_priv *priv,
75 const u8 *addr, int tid, u16 ssn); 78 const u8 *addr, int tid, u16 ssn);