mac80211: change RX aggregation locking

To prepare for allowing drivers to sleep in
ampdu_action, change the locking in the RX
aggregation code to use a mutex, so that it
would already allow drivers to sleep. But
explicitly disable BHs around the callback
for now since the TX part cannot yet sleep,
and drivers' locking might require it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
このコミットが含まれているのは:
Johannes Berg
2010-06-10 10:21:46 +02:00
committed by John W. Linville
コミット a93e364430
6個のファイルの変更21行の追加11行の削除

ファイルの表示

@@ -349,9 +349,11 @@ static inline int drv_ampdu_action(struct ieee80211_local *local,
u16 *ssn)
{
int ret = -EOPNOTSUPP;
local_bh_disable();
if (local->ops->ampdu_action)
ret = local->ops->ampdu_action(&local->hw, &sdata->vif, action,
sta, tid, ssn);
local_bh_enable();
trace_drv_ampdu_action(local, sdata, action, sta, tid, ssn, ret);
return ret;
}