diff --git a/testmode.c b/testmode.c index f37a4603..d1b17169 100644 --- a/testmode.c +++ b/testmode.c @@ -84,6 +84,10 @@ mt76_testmode_tx_init(struct mt76_dev *dev) info->flags = IEEE80211_TX_CTL_INJECTED | IEEE80211_TX_CTL_NO_ACK | IEEE80211_TX_CTL_NO_PS_BUFFER; + + if (td->tx_rate_mode > MT76_TM_TX_MODE_VHT) + goto out; + rate = &info->control.rates[0]; rate->count = 1; rate->idx = td->tx_rate_idx; @@ -152,7 +156,7 @@ mt76_testmode_tx_init(struct mt76_dev *dev) break; } } - +out: skb_set_queue_mapping(skb, IEEE80211_AC_BE); return 0; diff --git a/testmode.h b/testmode.h index 3c09aa55..7efad685 100644 --- a/testmode.h +++ b/testmode.h @@ -147,12 +147,20 @@ enum mt76_testmode_state { * @MT76_TM_TX_MODE_OFDM: legacy OFDM mode * @MT76_TM_TX_MODE_HT: 802.11n MCS * @MT76_TM_TX_MODE_VHT: 802.11ac MCS + * @MT76_TM_TX_MODE_HE_SU: 802.11ax single-user MIMO + * @MT76_TM_TX_MODE_HE_EXT_SU: 802.11ax extended-range SU + * @MT76_TM_TX_MODE_HE_TB: 802.11ax trigger-based + * @MT76_TM_TX_MODE_HE_MU: 802.11ax multi-user MIMO */ enum mt76_testmode_tx_mode { MT76_TM_TX_MODE_CCK, MT76_TM_TX_MODE_OFDM, MT76_TM_TX_MODE_HT, MT76_TM_TX_MODE_VHT, + MT76_TM_TX_MODE_HE_SU, + MT76_TM_TX_MODE_HE_EXT_SU, + MT76_TM_TX_MODE_HE_TB, + MT76_TM_TX_MODE_HE_MU, /* keep last */ NUM_MT76_TM_TX_MODES, diff --git a/tools/fields.c b/tools/fields.c index 817d797d..e3f69089 100644 --- a/tools/fields.c +++ b/tools/fields.c @@ -17,6 +17,10 @@ static const char * const testmode_tx_mode[] = { [MT76_TM_TX_MODE_OFDM] = "ofdm", [MT76_TM_TX_MODE_HT] = "ht", [MT76_TM_TX_MODE_VHT] = "vht", + [MT76_TM_TX_MODE_HE_SU] = "he_su", + [MT76_TM_TX_MODE_HE_EXT_SU] = "he_ext_su", + [MT76_TM_TX_MODE_HE_TB] = "he_tb", + [MT76_TM_TX_MODE_HE_MU] = "he_mu", }; static void print_enum(const struct tm_field *field, struct nlattr *attr)