From: Christian Lamparter Date: Sat, 7 Jul 2012 10:16:09 +0000 (+0200) Subject: Merge branch 'master' of git://github.com/chunkeey/carl9170fw X-Git-Url: https://jxself.org/git/?p=carl9170fw.git;a=commitdiff_plain;h=38ec506630dd92a5e6a03e6caca08fb926be85ae;hp=c60bb8671d9721896036d980595940864e8e758c Merge branch 'master' of git://github.com/chunkeey/carl9170fw --- 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 */