diff options
author | Felix Fietkau <nbd@openwrt.org> | 2013-05-18 21:28:15 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-05-22 14:28:44 -0400 |
commit | 08c96abd611beadf2af414a306fe0fb02ba706ff (patch) | |
tree | 2ee91910a79083004eacad4a05fe0699d4a7e534 /drivers/net/wireless/wl3501_cs.c | |
parent | 323a98db4d51e4fefc74290adfb5493047cbbe22 (diff) | |
download | talos-op-linux-08c96abd611beadf2af414a306fe0fb02ba706ff.tar.gz talos-op-linux-08c96abd611beadf2af414a306fe0fb02ba706ff.zip |
ath9k: prevent aggregation session deadlocks
Waiting for all subframes of an existing aggregation session to drain
before allowing mac80211 to start a new one is fragile and deadlocks
caused by this behavior have been observed.
Since mac80211 has proper synchronization for aggregation session
start/stop handling, a better approach to session handling is to simply
allow mac80211 to start a new session at any time. This requires
changing the code to discard any packets outside of the BlockAck window
in the A-MPDU software retry code.
This patch implements the above and also simplifies the code.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/wl3501_cs.c')
0 files changed, 0 insertions, 0 deletions