The hardware reports the number of transmitting antennas not the actual
number of spatial streams
Co-developed-by: Peter Chiu <chui-hao.chiu@mediatek.com>
Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
Signed-off-by: Evelyn Tsai <evelyn.tsai@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
        struct mt76_phy *mphy;
        struct rate_info rate = {};
        bool cck = false;
-       u32 txrate, txs, mode;
+       u32 txrate, txs, mode, stbc;
 
        txs = le32_to_cpu(txs_data[0]);
 
 
        rate.mcs = FIELD_GET(MT_TX_RATE_IDX, txrate);
        rate.nss = FIELD_GET(MT_TX_RATE_NSS, txrate) + 1;
+       stbc = FIELD_GET(MT_TX_RATE_STBC, txrate);
+
+       if (stbc && rate.nss > 1)
+               rate.nss >>= 1;
 
        if (rate.nss - 1 < ARRAY_SIZE(stats->tx_nss))
                stats->tx_nss[rate.nss - 1]++;