diff options
author | Eliad Peller <eliad@wizery.com> | 2012-09-09 14:43:51 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-09-10 12:44:17 +0200 |
commit | b22cfcfcae5b2c1e9b43543b6a23e5ef517de8f8 (patch) | |
tree | b87ec8f76a6ccdd4d8d5ed9752d4bfedf3ea04c3 /net/mac80211/mlme.c | |
parent | e548c49e6dc6b08b59042930a2e90c69c13c9293 (diff) |
mac80211: use call_rcu() on sta deletion
mac80211 calls synchronize_rcu() on sta deletion,
which increase the roaming time significantly.
Convert it into a call_rcu() mechanism, in order
to avoid blocking. Since some of the cleanup
functions might sleep, schedule from the call_rcu
callback a new work that will do the actual cleanup.
In order to make sure the cleanup occurs before
the interface went down, flush local->workqueue
on ieee80211_do_stop().
Signed-off-by: Yoni Divinsky <yoni.divinsky@ti.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/mlme.c')
0 files changed, 0 insertions, 0 deletions