rt2x00: don't use TXDONE_FALLBACK as success indicator
authorHelmut Schaa <helmut.schaa@googlemail.com>
Mon, 14 Jun 2010 20:09:09 +0000 (22:09 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 15 Jun 2010 20:00:49 +0000 (16:00 -0400)
TXDONE_FALLBACK doesn't express if the frame was sent successful or not. It
only tells us that the hw used fallback rates for retries. Hence, don't use
TXDONE_FALLBACK as success indicator.

Before this patch we reported success to the rate control algorithm which
was wrong in a number of cases and might have lead to improper tx rate
selections.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2x00dev.c

index 0b8efe8e678557b67dcca1d1df16fec4a0ade537..8faee4c6f04b0e4045c36d49a370037a6a3ab84a 100644 (file)
@@ -236,8 +236,7 @@ void rt2x00lib_txdone(struct queue_entry *entry,
         */
        success =
            test_bit(TXDONE_SUCCESS, &txdesc->flags) ||
-           test_bit(TXDONE_UNKNOWN, &txdesc->flags) ||
-           test_bit(TXDONE_FALLBACK, &txdesc->flags);
+           test_bit(TXDONE_UNKNOWN, &txdesc->flags);
 
        /*
         * Update TX statistics.