carl9170 firmware: add note about BAR tx status issues
authorChristian Lamparter <chunkeey@googlemail.com>
Sun, 1 Jul 2012 00:14:04 +0000 (02:14 +0200)
committerChristian Lamparter <chunkeey@googlemail.com>
Sun, 1 Jul 2012 00:14:04 +0000 (02:14 +0200)
The workaround will be implemented in the driver as the
firmware can't efficiently deal with BA responses.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
carlfw/src/wlan.c

index cc2505538884a73d210efea0f6a8b0cacce84038..e581fa8ddea34db0095a4d9d2516cf5eba89056e 100644 (file)
@@ -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);