diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-11-16 06:00:38 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-11-18 17:09:15 -0500 |
commit | c951ad3550ab40071bb0f222ba6125845769c08a (patch) | |
tree | 9db1d3c110b359a34a3d706eaf40285cfa01550b /drivers/net/wireless/ath/ath9k/main.c | |
parent | 3b53fde8ac40c4321389def14d7f4a9e14092fd3 (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.c | 5 |
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 | ||
3080 | static int ath9k_ampdu_action(struct ieee80211_hw *hw, | 3080 | static 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); |