rt2x00: Fix tx status reporting when falling back to the lowest rate
authorHelmut Schaa <helmut.schaa@googlemail.com>
Mon, 14 Jun 2010 20:12:26 +0000 (22:12 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 15 Jun 2010 20:00:50 +0000 (16:00 -0400)
commit3d2bc1036a64bc015671283833430035f7dbbed0
tree328aa6fd4f2c93f3c5512eedc4a1bb9b80249961
parent3f2bee249926194313f7001bdfedb9c9634a48fc
rt2x00: Fix tx status reporting when falling back to the lowest rate

In some corner cases the reported tx rates/retries didn't match the really
used ones.

The hardware lowers the tx rate on each consecutive retry by 1 (but won't
fall back from MCS to legacy rates) _until_ it reaches the lowest one.

In case the frame wasn't sent succesful the number of retries is 7 and if
a rate index <7 was used the previous code reported negative rate indexes
which were then ignored by the rate control algorithm and mac80211.

Instead, report the remaining number of retries to have happened with
the lowest rate (index 0). This should give the rate control algorithm
slightly more accurate information about the used tx rates/retries.

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