aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00dev.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00dev.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00dev.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
index eb2d21c4e8e9..a885254d2e85 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -574,19 +574,21 @@ void rt2x00lib_rxdone(struct queue_entry *entry,
574 u16 fc; 574 u16 fc;
575 575
576 /* 576 /*
577 * If the signal is the plcp value,
578 * we need to strip the preamble bit (0x08).
579 */
580 if (rxdesc->signal_plcp)
581 rxdesc->signal &= ~0x08;
582
583 /*
577 * Update RX statistics. 584 * Update RX statistics.
578 */ 585 */
579 sband = &rt2x00dev->bands[rt2x00dev->curr_band]; 586 sband = &rt2x00dev->bands[rt2x00dev->curr_band];
580 for (i = 0; i < sband->n_bitrates; i++) { 587 for (i = 0; i < sband->n_bitrates; i++) {
581 rate = rt2x00_get_rate(sband->bitrates[i].hw_value); 588 rate = rt2x00_get_rate(sband->bitrates[i].hw_value);
582 589
583 /* 590 if ((rxdesc->signal_plcp && rate->plcp == rxdesc->signal) ||
584 * When frame was received with an OFDM bitrate, 591 (!rxdesc->signal_plcp && rate->bitrate == rxdesc->signal)) {
585 * the signal is the PLCP value. If it was received with
586 * a CCK bitrate the signal is the rate in 100kbit/s.
587 */
588 if ((rxdesc->ofdm && rate->plcp == rxdesc->signal) ||
589 (!rxdesc->ofdm && rate->bitrate == rxdesc->signal)) {
590 idx = i; 592 idx = i;
591 break; 593 break;
592 } 594 }