mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
mt76x02: fix per-chain signal strength reporting
Set the per-chain signal value for chain 0 and simplify the code (no need for a loop for just one extra chain) Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
+8
-7
@@ -588,7 +588,7 @@ int mt76x02_mac_process_rx(struct mt76x02_dev *dev, struct sk_buff *skb,
|
||||
u16 rate = le16_to_cpu(rxwi->rate);
|
||||
u16 tid_sn = le16_to_cpu(rxwi->tid_sn);
|
||||
bool unicast = rxwi->rxinfo & cpu_to_le32(MT_RXINFO_UNICAST);
|
||||
int i, pad_len = 0, nstreams = dev->mt76.chainmask & 0xf;
|
||||
int pad_len = 0, nstreams = dev->mt76.chainmask & 0xf;
|
||||
s8 signal;
|
||||
u8 pn_len;
|
||||
u8 wcid;
|
||||
@@ -648,12 +648,13 @@ int mt76x02_mac_process_rx(struct mt76x02_dev *dev, struct sk_buff *skb,
|
||||
|
||||
status->chains = BIT(0);
|
||||
signal = mt76x02_mac_get_rssi(dev, rxwi->rssi[0], 0);
|
||||
for (i = 1; i < nstreams; i++) {
|
||||
status->chains |= BIT(i);
|
||||
status->chain_signal[i] = mt76x02_mac_get_rssi(dev,
|
||||
rxwi->rssi[i],
|
||||
i);
|
||||
signal = max_t(s8, signal, status->chain_signal[i]);
|
||||
status->chain_signal[0] = signal;
|
||||
if (nstreams > 1) {
|
||||
status->chains |= BIT(1);
|
||||
status->chain_signal[1] = mt76x02_mac_get_rssi(dev,
|
||||
rxwi->rssi[1],
|
||||
1);
|
||||
signal = max_t(s8, signal, status->chain_signal[1]);
|
||||
}
|
||||
status->signal = signal;
|
||||
status->freq = dev->mt76.chandef.chan->center_freq;
|
||||
|
||||
Reference in New Issue
Block a user