]> git.baikalelectronics.ru Git - kernel.git/commit
ath9k: fix queue stopping threshold
authorFelix Fietkau <nbd@openwrt.org>
Sat, 12 Jun 2010 04:33:55 +0000 (00:33 -0400)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 14 Jun 2010 19:39:31 +0000 (15:39 -0400)
commit8f595a386a42931be881f82468d464102d7ed8a9
tree064999e0904c64484fe754703186183f9130ecd4
parent1627a6f37609422e92f1aceb081d2fb3d787adef
ath9k: fix queue stopping threshold

ath9k tries to prevent WMM queue tx buffer starvation caused by
traffic on different queues by limiting the number of pending frames
in a tx queue (tracked in the ath_buf structure). This had a leak
issue, because the a skb can be reassigned to a different ath_buf
in the tx path, causing the pending frame counter to become inaccurate.

To fix this, track the number of frames in an array in the softc,
using the mac80211 queue mapping as index.

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