mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
wifi: mt76: mt7925: handle 320MHz bandwidth in RXV and TXS
The RX vector (RXV) and TX status (TXS) parsing in mac.c lack handling for 320MHz channel width. When the hardware reports 320MHz in the bandwidth field, mt7925_mac_fill_rx_rate() returns -EINVAL and mt7925_mac_add_txs_skb() records no bandwidth stats. Add IEEE80211_STA_RX_BW_320 cases to both functions. The RXV parser also handles BW_320+1 since the hardware can report 320MHz in two adjacent encoding positions. Tested-by: Marcin FM <[email protected]> Tested-by: Cristian-Florin Radoi <[email protected]> Tested-by: George Salukvadze <[email protected]> Tested-by: Evgeny Kapusta <[email protected]> Tested-by: Samu Toljamo <[email protected]> Tested-by: Ariel Rosenfeld <[email protected]> Tested-by: Chapuis Dario <[email protected]> Tested-by: Thibaut François <[email protected]> Tested-by: 张旭涵 <[email protected]> Reviewed-by: Sean Wang <[email protected]> Signed-off-by: Javier Tia <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
committed by
Felix Fietkau
parent
3c57528171
commit
b1f7e240c7
@@ -339,6 +339,11 @@ mt7925_mac_fill_rx_rate(struct mt792x_dev *dev,
|
||||
case IEEE80211_STA_RX_BW_160:
|
||||
status->bw = RATE_INFO_BW_160;
|
||||
break;
|
||||
/* RXV can report 320 in two positions */
|
||||
case IEEE80211_STA_RX_BW_320:
|
||||
case IEEE80211_STA_RX_BW_320 + 1:
|
||||
status->bw = RATE_INFO_BW_320;
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
@@ -997,6 +1002,10 @@ mt7925_mac_add_txs_skb(struct mt792x_dev *dev, struct mt76_wcid *wcid,
|
||||
stats->tx_mode[mode]++;
|
||||
|
||||
switch (FIELD_GET(MT_TXS0_BW, txs)) {
|
||||
case IEEE80211_STA_RX_BW_320:
|
||||
rate.bw = RATE_INFO_BW_320;
|
||||
stats->tx_bw[4]++;
|
||||
break;
|
||||
case IEEE80211_STA_RX_BW_160:
|
||||
rate.bw = RATE_INFO_BW_160;
|
||||
stats->tx_bw[3]++;
|
||||
|
||||
Reference in New Issue
Block a user