ath9k: fix aggregation session lockup
authorFelix Fietkau <nbd@openwrt.org>
Wed, 23 Jul 2014 13:40:54 +0000 (15:40 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 7 Aug 2014 21:52:36 +0000 (14:52 -0700)
commitb3621670c78d883d86a173bbb30a4effe9eb69fb
tree0ed82bc901fc4bdc3cbe38a62b5c1ad41be87f14
parent9d58ab3554540980f0d81cac01999d287775105c
ath9k: fix aggregation session lockup

commit c01fac1c77a00227f706a1654317023e3f4ac7f0 upstream.

If an aggregation session fails, frames still end up in the driver queue
with IEEE80211_TX_CTL_AMPDU set.
This causes tx for the affected station/tid to stall, since
ath_tx_get_tid_subframe returning packets to send.

Fix this by clearing IEEE80211_TX_CTL_AMPDU as long as no aggregation
session is running.

Reported-by: Antonio Quartulli <antonio@open-mesh.com>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/wireless/ath/ath9k/xmit.c