diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-06-10 04:21:40 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-06-14 15:39:27 -0400 |
commit | 5d22c89b9bea17a0e48e7534a9b237885e2c0809 (patch) | |
tree | ed4f1de2efaa41368a2774adc0e07d903f65ed98 /net/mac80211 | |
parent | a622ab72b4dcfdf53e24b16e9530cb876979a00c (diff) |
mac80211: remove non-irqsafe aggregation callbacks
The non-irqsafe aggregation start/stop done
callbacks are currently only used by ath9k_htc,
and can cause callbacks into the driver again.
This might lead to locking issues, which will
only get worse as we modify locking. To avoid
trouble, remove the non-irqsafe versions and
change ath9k_htc to use those instead.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/agg-tx.c | 2 | ||||
-rw-r--r-- | net/mac80211/ieee80211_i.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c index 7d8656d51c6b..5a7ef51e3020 100644 --- a/net/mac80211/agg-tx.c +++ b/net/mac80211/agg-tx.c | |||
@@ -479,7 +479,6 @@ void ieee80211_start_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u16 tid) | |||
479 | spin_unlock_bh(&sta->lock); | 479 | spin_unlock_bh(&sta->lock); |
480 | rcu_read_unlock(); | 480 | rcu_read_unlock(); |
481 | } | 481 | } |
482 | EXPORT_SYMBOL(ieee80211_start_tx_ba_cb); | ||
483 | 482 | ||
484 | void ieee80211_start_tx_ba_cb_irqsafe(struct ieee80211_vif *vif, | 483 | void ieee80211_start_tx_ba_cb_irqsafe(struct ieee80211_vif *vif, |
485 | const u8 *ra, u16 tid) | 484 | const u8 *ra, u16 tid) |
@@ -619,7 +618,6 @@ void ieee80211_stop_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u8 tid) | |||
619 | spin_unlock_bh(&sta->lock); | 618 | spin_unlock_bh(&sta->lock); |
620 | rcu_read_unlock(); | 619 | rcu_read_unlock(); |
621 | } | 620 | } |
622 | EXPORT_SYMBOL(ieee80211_stop_tx_ba_cb); | ||
623 | 621 | ||
624 | void ieee80211_stop_tx_ba_cb_irqsafe(struct ieee80211_vif *vif, | 622 | void ieee80211_stop_tx_ba_cb_irqsafe(struct ieee80211_vif *vif, |
625 | const u8 *ra, u16 tid) | 623 | const u8 *ra, u16 tid) |
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index 71bdd8b3c3f4..a3ae51308039 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -1119,6 +1119,8 @@ void ieee80211_process_addba_request(struct ieee80211_local *local, | |||
1119 | 1119 | ||
1120 | int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, | 1120 | int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, |
1121 | enum ieee80211_back_parties initiator); | 1121 | enum ieee80211_back_parties initiator); |
1122 | void ieee80211_start_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u16 tid); | ||
1123 | void ieee80211_stop_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u8 tid); | ||
1122 | 1124 | ||
1123 | /* Spectrum management */ | 1125 | /* Spectrum management */ |
1124 | void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata, | 1126 | void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata, |