ath9k: use software queues for un-aggregated data packets
authorFelix Fietkau <nbd@openwrt.org>
Tue, 6 Aug 2013 12:18:11 +0000 (14:18 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 9 Aug 2013 19:58:20 +0000 (15:58 -0400)
commit2800e82bcc3ba8d2a2bbb42557e2f320f8b27da1
treea6619774e3d3faafd66c6336a508a703602e1d96
parent026d5b07c03458f9c0ccd19c3850564a5409c325
ath9k: use software queues for un-aggregated data packets

This is a first step for improving fairness between legacy and 802.11n
traffic, and it should also improve reliability of resets and channel
changes by keeping the hardware queue depth very short.

When an aggregation session is torn down, all packets in the retry queue
will be removed from the BAW and freed.

For all subframes that have not been transmitted yet, the A-MPDU flag
will be cleared, and a sequence number allocated. This ensures that the
next A-MPDU session will get the correct initial sequence number.
This happens both on aggregation session start and stop.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ath9k.h
drivers/net/wireless/ath/ath9k/xmit.c