OSDN Git Service

rt2x00: Only strip preamble bit in rt2400pci
authorIvo van Doorn <ivdoorn@gmail.com>
Sun, 9 Mar 2008 23:30:44 +0000 (00:30 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 13 Mar 2008 23:32:31 +0000 (19:32 -0400)
Only rt2400pci can have the preamble bit set in the PLCP value,
for all other drivers it should not be cleared since that will
conflict with the plcp values for OFDM rates.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2400pci.c
drivers/net/wireless/rt2x00/rt2x00dev.c

index 4cd2842..1f49561 100644 (file)
@@ -1072,9 +1072,10 @@ static void rt2400pci_fill_rxdone(struct queue_entry *entry,
 
        /*
         * Obtain the status about this packet.
-        * The signal is the PLCP value.
+        * The signal is the PLCP value, and needs to be stripped
+        * of the preamble bit (0x08).
         */
-       rxdesc->signal = rt2x00_get_field32(word2, RXD_W2_SIGNAL);
+       rxdesc->signal = rt2x00_get_field32(word2, RXD_W2_SIGNAL) & ~0x08;
        rxdesc->signal_plcp = 1;
        rxdesc->rssi = rt2x00_get_field32(word2, RXD_W3_RSSI) -
            entry->queue->rt2x00dev->rssi_offset;
index a885254..b81efc9 100644 (file)
@@ -574,13 +574,6 @@ void rt2x00lib_rxdone(struct queue_entry *entry,
        u16 fc;
 
        /*
-        * If the signal is the plcp value,
-        * we need to strip the preamble bit (0x08).
-        */
-       if (rxdesc->signal_plcp)
-               rxdesc->signal &= ~0x08;
-
-       /*
         * Update RX statistics.
         */
        sband = &rt2x00dev->bands[rt2x00dev->curr_band];