From: Christian Lamparter Date: Sat, 7 Jul 2012 00:17:20 +0000 (+0200) Subject: Merge branch 'master' into radar X-Git-Url: https://jxself.org/git/?a=commitdiff_plain;h=8dc065b3012754fb34dcb04b7ce295cca4be0627;hp=58c26fc2140754c7af1e723b7840246edf5744d9;p=carl9170fw.git Merge branch 'master' into radar --- diff --git a/carlfw/src/wlan.c b/carlfw/src/wlan.c index e581fa8..b8d4ec4 100644 --- a/carlfw/src/wlan.c +++ b/carlfw/src/wlan.c @@ -457,6 +457,18 @@ static bool wlan_tx_status(struct dma_queue *queue, fw.wlan.cab_queue_len[super->s.vif_id]--; #endif /* CONFIG_CARL9170FW_CAB_QUEUE */ + if (unlikely(ieee80211_is_back_req(super->f.data.i3e.frame_control))) { + /* + * As explained above, the hardware seems to be + * incapable of matching BA to BARs. This is a + * problem especially with mac80211, because it + * does resent failed BARs which of course cause + * some mayhem in the receiver buffer at the HT + * peer on the other end. + */ + success = true; + } + wlan_tx_complete(super, success); /* recycle freed descriptors */