aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/main.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-11-16 06:00:38 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-11-18 17:09:15 -0500
commitc951ad3550ab40071bb0f222ba6125845769c08a (patch)
tree9db1d3c110b359a34a3d706eaf40285cfa01550b /drivers/net/wireless/ath/ath9k/main.c
parent3b53fde8ac40c4321389def14d7f4a9e14092fd3 (diff)
mac80211: convert aggregation to operate on vifs/stas
The entire aggregation code currently operates on the hw pointer and station addresses, but that needs to change to make stations purely per-vif; As one step preparing for that make the aggregation code callable with the station, or by the combination of virtual interface and station address. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/main.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 3229c3993568..16bdb1b549b4 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -3078,6 +3078,7 @@ static void ath9k_reset_tsf(struct ieee80211_hw *hw)
3078} 3078}
3079 3079
3080static int ath9k_ampdu_action(struct ieee80211_hw *hw, 3080static int ath9k_ampdu_action(struct ieee80211_hw *hw,
3081 struct ieee80211_vif *vif,
3081 enum ieee80211_ampdu_mlme_action action, 3082 enum ieee80211_ampdu_mlme_action action,
3082 struct ieee80211_sta *sta, 3083 struct ieee80211_sta *sta,
3083 u16 tid, u16 *ssn) 3084 u16 tid, u16 *ssn)
@@ -3095,11 +3096,11 @@ static int ath9k_ampdu_action(struct ieee80211_hw *hw,
3095 break; 3096 break;
3096 case IEEE80211_AMPDU_TX_START: 3097 case IEEE80211_AMPDU_TX_START:
3097 ath_tx_aggr_start(sc, sta, tid, ssn); 3098 ath_tx_aggr_start(sc, sta, tid, ssn);
3098 ieee80211_start_tx_ba_cb_irqsafe(hw, sta->addr, tid); 3099 ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid);
3099 break; 3100 break;
3100 case IEEE80211_AMPDU_TX_STOP: 3101 case IEEE80211_AMPDU_TX_STOP:
3101 ath_tx_aggr_stop(sc, sta, tid); 3102 ath_tx_aggr_stop(sc, sta, tid);
3102 ieee80211_stop_tx_ba_cb_irqsafe(hw, sta->addr, tid); 3103 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid);
3103 break; 3104 break;
3104 case IEEE80211_AMPDU_TX_OPERATIONAL: 3105 case IEEE80211_AMPDU_TX_OPERATIONAL:
3105 ath_tx_aggr_resume(sc, sta, tid); 3106 ath_tx_aggr_resume(sc, sta, tid);