rt2x00: Fix rt2800 retry calculation
authorIvo van Doorn <[email protected]>
Mon, 23 Aug 2010 17:55:01 +0000 (19:55 +0200)
committerJohn W. Linville <[email protected]>
Wed, 25 Aug 2010 18:34:55 +0000 (14:34 -0400)
The retry count for a frame is calculated by the realized MCS rate
subtracting of the requested MCS rate. However during TX done reporting
we accidently override the requested MCS rate with the realized MCS
rate. This causes the retry count to be reset to 0 always, and feeding
invalid rate information into minstrel_ht.

Signed-off-by: Ivo van Doorn <[email protected]>
Acked-by: Helmut Schaa <[email protected]>
Acked-by: Gertjan van Wingerde <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
drivers/net/wireless/rt2x00/rt2800lib.c

index 3a150d3a9d9fb5097e9dbb9fde014a2b629748cf..8706702b69a2bdc2a659d5a9228ede6eeabb442a 100644 (file)
@@ -650,7 +650,6 @@ void rt2800_txdone(struct rt2x00_dev *rt2x00dev)
                txdesc.flags = 0;
                rt2x00_desc_read(txwi, 0, &word);
                mcs = rt2x00_get_field32(word, TXWI_W0_MCS);
-               mcs = rt2x00_get_field32(reg, TX_STA_FIFO_MCS);
                real_mcs = rt2x00_get_field32(reg, TX_STA_FIFO_MCS);
 
                /*