Search Linux Wireless

[PATCH] rt2x00: Only strip preamble bit in rt2400pci

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
---
John, I have put this patch in the upstream branch of rt2x00.git as well,
so when you merge the rt2x00 2.1.4 pull request into wireless-testing you'll
get this one automatically as well.

Apparently one of the late patches I moved into rt2x00.git tonight broke
connectivity with 54Mb AP's (while the tests run today were with a 11Mb AP,
hence it was unoticed during the 2.1.4 release test cycle).
---
 drivers/net/wireless/rt2x00/rt2400pci.c |    5 +++--
 drivers/net/wireless/rt2x00/rt2x00dev.c |    7 -------
 2 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2400pci.c b/drivers/net/wireless/rt2x00/rt2400pci.c
index 4cd2842..1f49561 100644
--- a/drivers/net/wireless/rt2x00/rt2400pci.c
+++ b/drivers/net/wireless/rt2x00/rt2400pci.c
@@ -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;
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
index 76e5dac..ff852c8 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -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];
-- 
1.5.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux