OSDN Git Service

mt76: mt7603: fix ED/CCA monitoring with single-stream devices
authorFelix Fietkau <nbd@nbd.name>
Wed, 14 Oct 2020 14:49:36 +0000 (16:49 +0200)
committerFelix Fietkau <nbd@nbd.name>
Tue, 26 Jan 2021 19:07:49 +0000 (20:07 +0100)
Do not use the RSSI values of the unavailable chain

Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7603/mac.c

index 7f0e3df..cc4e7bc 100644 (file)
@@ -1631,9 +1631,13 @@ mt7603_edcca_check(struct mt7603_dev *dev)
        if (rssi0 > 128)
                rssi0 -= 256;
 
-       rssi1 = FIELD_GET(MT_AGC_41_RSSI_1, val);
-       if (rssi1 > 128)
-               rssi1 -= 256;
+       if (dev->mphy.antenna_mask & BIT(1)) {
+               rssi1 = FIELD_GET(MT_AGC_41_RSSI_1, val);
+               if (rssi1 > 128)
+                       rssi1 -= 256;
+       } else {
+               rssi1 = rssi0;
+       }
 
        if (max(rssi0, rssi1) >= -40 &&
            dev->ed_strong_signal < MT7603_EDCCA_BLOCK_TH)