From: Christian Lamparter Date: Sun, 1 Jul 2012 00:14:04 +0000 (+0200) Subject: carl9170 firmware: add note about BAR tx status issues X-Git-Tag: 1.9.6~5 X-Git-Url: https://jxself.org/git/?a=commitdiff_plain;h=69f7043e7a2223e25cc525161a2de45d293d21d0;hp=-c;p=carl9170fw.git carl9170 firmware: add note about BAR tx status issues The workaround will be implemented in the driver as the firmware can't efficiently deal with BA responses. Signed-off-by: Christian Lamparter --- 69f7043e7a2223e25cc525161a2de45d293d21d0 diff --git a/carlfw/src/wlan.c b/carlfw/src/wlan.c index cc25055..e581fa8 100644 --- a/carlfw/src/wlan.c +++ b/carlfw/src/wlan.c @@ -345,6 +345,16 @@ static bool wlan_tx_status(struct dma_queue *queue, /* update hangcheck */ fw.wlan.last_super_num[qidx] = 0; + /* + * Note: + * There could be a corner case when the TXFAIL is set + * even though the frame was properly ACKed by the peer: + * a BlockAckReq with the immediate policy will cause + * the receiving peer to produce a BlockACK unfortunately + * the MAC in this chip seems to be expecting a legacy + * ACK and marks the BAR as failed! + */ + if (!!(desc->ctrl & AR9170_CTRL_FAIL)) { txfail = !!(desc->ctrl & AR9170_CTRL_TXFAIL);