diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-04-30 14:30:46 -0400 |
---|---|---|
committer | Reinette Chatre <reinette.chatre@intel.com> | 2010-05-10 18:09:06 -0400 |
commit | 619753ff57a2e15b58546b856536928d1a3daef9 (patch) | |
tree | 74a1b5ecc40adc80e8620da8e040c6733da812fa /drivers/net/wireless/iwlwifi/iwl-sta.c | |
parent | 2a87c26bbe9587baeb9e56d3ce0b4971bd777643 (diff) |
iwlagn: use iwl_sta_id() for aggregation
With the station ID being stored in the
station struct, which mac80211 gives us
for aggregation callbacks, we can also
remove the use of iwl_find_station() in
those code paths.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-sta.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-sta.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-sta.c b/drivers/net/wireless/iwlwifi/iwl-sta.c index 4be7940ad566..8fec0263f016 100644 --- a/drivers/net/wireless/iwlwifi/iwl-sta.c +++ b/drivers/net/wireless/iwlwifi/iwl-sta.c | |||
@@ -1324,13 +1324,13 @@ void iwl_sta_tx_modify_enable_tid(struct iwl_priv *priv, int sta_id, int tid) | |||
1324 | } | 1324 | } |
1325 | EXPORT_SYMBOL(iwl_sta_tx_modify_enable_tid); | 1325 | EXPORT_SYMBOL(iwl_sta_tx_modify_enable_tid); |
1326 | 1326 | ||
1327 | int iwl_sta_rx_agg_start(struct iwl_priv *priv, | 1327 | int iwl_sta_rx_agg_start(struct iwl_priv *priv, struct ieee80211_sta *sta, |
1328 | const u8 *addr, int tid, u16 ssn) | 1328 | int tid, u16 ssn) |
1329 | { | 1329 | { |
1330 | unsigned long flags; | 1330 | unsigned long flags; |
1331 | int sta_id; | 1331 | int sta_id; |
1332 | 1332 | ||
1333 | sta_id = iwl_find_station(priv, addr); | 1333 | sta_id = iwl_sta_id(sta); |
1334 | if (sta_id == IWL_INVALID_STATION) | 1334 | if (sta_id == IWL_INVALID_STATION) |
1335 | return -ENXIO; | 1335 | return -ENXIO; |
1336 | 1336 | ||
@@ -1343,16 +1343,17 @@ int iwl_sta_rx_agg_start(struct iwl_priv *priv, | |||
1343 | spin_unlock_irqrestore(&priv->sta_lock, flags); | 1343 | spin_unlock_irqrestore(&priv->sta_lock, flags); |
1344 | 1344 | ||
1345 | return iwl_send_add_sta(priv, &priv->stations[sta_id].sta, | 1345 | return iwl_send_add_sta(priv, &priv->stations[sta_id].sta, |
1346 | CMD_ASYNC); | 1346 | CMD_ASYNC); |
1347 | } | 1347 | } |
1348 | EXPORT_SYMBOL(iwl_sta_rx_agg_start); | 1348 | EXPORT_SYMBOL(iwl_sta_rx_agg_start); |
1349 | 1349 | ||
1350 | int iwl_sta_rx_agg_stop(struct iwl_priv *priv, const u8 *addr, int tid) | 1350 | int iwl_sta_rx_agg_stop(struct iwl_priv *priv, struct ieee80211_sta *sta, |
1351 | int tid) | ||
1351 | { | 1352 | { |
1352 | unsigned long flags; | 1353 | unsigned long flags; |
1353 | int sta_id; | 1354 | int sta_id; |
1354 | 1355 | ||
1355 | sta_id = iwl_find_station(priv, addr); | 1356 | sta_id = iwl_sta_id(sta); |
1356 | if (sta_id == IWL_INVALID_STATION) { | 1357 | if (sta_id == IWL_INVALID_STATION) { |
1357 | IWL_ERR(priv, "Invalid station for AGG tid %d\n", tid); | 1358 | IWL_ERR(priv, "Invalid station for AGG tid %d\n", tid); |
1358 | return -ENXIO; | 1359 | return -ENXIO; |