diff options
author | Christian Lamparter <chunkeey@googlemail.com> | 2010-12-30 17:25:29 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-01-04 20:46:13 +0100 |
commit | 24a8fdad35835e8d71f7c4b978a246fafed2e7b4 (patch) | |
tree | 3ee2b5710b802dca6fe43cbedf461c54e0f2be93 /net/bluetooth | |
parent | ath9k: fix beacon restart on channel change (diff) | |
download | linux-24a8fdad35835e8d71f7c4b978a246fafed2e7b4.tar.xz linux-24a8fdad35835e8d71f7c4b978a246fafed2e7b4.zip |
mac80211: serialize rx path workers
This patch addresses the issue of serialization between
the main rx path and various reorder release timers.
<http://www.spinics.net/lists/linux-wireless/msg57214.html>
It converts the previously local "frames" queue into
a global rx queue [rx_skb_queue]. This way, everyone
(be it the main rx-path or some reorder release timeout)
can add frames to it.
Only one active rx handler worker [ieee80211_rx_handlers]
is needed. All other threads which have lost the race of
"runnning_rx_handler" can now simply "return", knowing that
the thread who had the "edge" will also take care of their
workload.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/bluetooth')
0 files changed, 0 insertions, 0 deletions