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 23:53:51 +0000 (16:53 -0700)
commitf0eda5106e9b2adef0f801a57ae7c60b158aed9d
tree4f85ac4deb0f413e7c85b155d145b64715161359
parent0010fee8b54d40078c5cfa313cc818a6548be034
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