aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2010-06-10 10:21:40 +0200
committerJohn W. Linville <linville@tuxdriver.com>2010-06-14 15:39:27 -0400
commit5d22c89b9bea17a0e48e7534a9b237885e2c0809 (patch)
treeed4f1de2efaa41368a2774adc0e07d903f65ed98 /drivers/net
parentmac80211: use RCU for TX aggregation (diff)
downloadlinux-dev-5d22c89b9bea17a0e48e7534a9b237885e2c0809.tar.xz
linux-dev-5d22c89b9bea17a0e48e7534a9b237885e2c0809.zip
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 'drivers/net')
-rw-r--r--drivers/net/wireless/ath/ath9k/htc_drv_main.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
index 7aefbc638770..8c463f5965fb 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
@@ -510,13 +510,13 @@ void ath9k_htc_aggr_work(struct work_struct *work)
ret = ath9k_htc_aggr_oper(priv, wk->vif, wk->sta_addr,
wk->tid, true);
if (!ret)
- ieee80211_start_tx_ba_cb(wk->vif, wk->sta_addr,
- wk->tid);
+ ieee80211_start_tx_ba_cb_irqsafe(wk->vif, wk->sta_addr,
+ wk->tid);
break;
case IEEE80211_AMPDU_TX_STOP:
ath9k_htc_aggr_oper(priv, wk->vif, wk->sta_addr,
wk->tid, false);
- ieee80211_stop_tx_ba_cb(wk->vif, wk->sta_addr, wk->tid);
+ ieee80211_stop_tx_ba_cb_irqsafe(wk->vif, wk->sta_addr, wk->tid);
break;
default:
ath_print(ath9k_hw_common(priv->ah), ATH_DBG_FATAL,