]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
rt73usb: fix for master mode
authorAlexandre Becholey <alexandre.becholey@epfl.ch>
Tue, 19 May 2009 15:52:56 +0000 (17:52 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 20 May 2009 18:46:34 +0000 (14:46 -0400)
Report status unknown as if there were successfully transmitted.
This will avoid hostapd to disassociate because it doesn't understand what a status unknown is.

Signed-off-by: Alexandre Becholey <alexandre.becholey@epfl.ch>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2x00dev.c

index f2270845072a0f89ecb398258ec7990d9376f7d4..57813e72c80875feda793d915c4709f05753b359 100644 (file)
@@ -260,7 +260,8 @@ void rt2x00lib_txdone(struct queue_entry *entry,
         * Update TX statistics.
         */
        rt2x00dev->link.qual.tx_success +=
-           test_bit(TXDONE_SUCCESS, &txdesc->flags);
+           test_bit(TXDONE_SUCCESS, &txdesc->flags) ||
+           test_bit(TXDONE_UNKNOWN, &txdesc->flags);
        rt2x00dev->link.qual.tx_failed +=
            test_bit(TXDONE_FAILURE, &txdesc->flags);
 
@@ -278,14 +279,16 @@ void rt2x00lib_txdone(struct queue_entry *entry,
        tx_info->status.rates[1].idx = -1; /* terminate */
 
        if (!(tx_info->flags & IEEE80211_TX_CTL_NO_ACK)) {
-               if (test_bit(TXDONE_SUCCESS, &txdesc->flags))
+               if (test_bit(TXDONE_SUCCESS, &txdesc->flags) ||
+                               test_bit(TXDONE_UNKNOWN, &txdesc->flags))
                        tx_info->flags |= IEEE80211_TX_STAT_ACK;
                else if (test_bit(TXDONE_FAILURE, &txdesc->flags))
                        rt2x00dev->low_level_stats.dot11ACKFailureCount++;
        }
 
        if (rate_flags & IEEE80211_TX_RC_USE_RTS_CTS) {
-               if (test_bit(TXDONE_SUCCESS, &txdesc->flags))
+               if (test_bit(TXDONE_SUCCESS, &txdesc->flags) ||
+                               test_bit(TXDONE_UNKNOWN, &txdesc->flags))
                        rt2x00dev->low_level_stats.dot11RTSSuccessCount++;
                else if (test_bit(TXDONE_FAILURE, &txdesc->flags))
                        rt2x00dev->low_level_stats.dot11RTSFailureCount++;