diff options
author | Reinette Chatre <reinette.chatre@intel.com> | 2010-02-22 19:24:47 -0500 |
---|---|---|
committer | Reinette Chatre <reinette.chatre@intel.com> | 2010-03-19 16:40:58 -0400 |
commit | fe6b23dd361199bfbc50b0cbce6bed37c5797c75 (patch) | |
tree | 96acb9c114342d7dc731310159dc4195248d115e /drivers/net/wireless/iwlwifi/iwl-agn-rs.h | |
parent | 7e2461910e9115c9964975f77584baf8c2f76bfe (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-agn-rs.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-rs.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rs.h b/drivers/net/wireless/iwlwifi/iwl-agn-rs.h index e182f5a0f736..8292f6d48ec6 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-rs.h +++ b/drivers/net/wireless/iwlwifi/iwl-agn-rs.h | |||
@@ -403,7 +403,6 @@ struct iwl_lq_sta { | |||
403 | u8 is_green; | 403 | u8 is_green; |
404 | u8 is_dup; | 404 | u8 is_dup; |
405 | enum ieee80211_band band; | 405 | enum ieee80211_band band; |
406 | u8 ibss_sta_added; | ||
407 | 406 | ||
408 | /* The following are bitmaps of rates; IWL_RATE_6M_MASK, etc. */ | 407 | /* The following are bitmaps of rates; IWL_RATE_6M_MASK, etc. */ |
409 | u32 supp_rates; | 408 | u32 supp_rates; |
@@ -478,6 +477,12 @@ static inline u8 iwl3945_get_prev_ieee_rate(u8 rate_index) | |||
478 | */ | 477 | */ |
479 | extern void iwl3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id); | 478 | extern void iwl3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id); |
480 | 479 | ||
480 | /* Initialize station's rate scaling information after adding station */ | ||
481 | extern void iwl_rs_rate_init(struct iwl_priv *priv, | ||
482 | struct ieee80211_sta *sta, u8 sta_id); | ||
483 | extern void iwl3945_rs_rate_init(struct iwl_priv *priv, | ||
484 | struct ieee80211_sta *sta, u8 sta_id); | ||
485 | |||
481 | /** | 486 | /** |
482 | * iwl_rate_control_register - Register the rate control algorithm callbacks | 487 | * iwl_rate_control_register - Register the rate control algorithm callbacks |
483 | * | 488 | * |