wifi: mt76: mt7996: fix iface combination for different chipsets

MT7992 and MT7990 support up to 19 interfaces per band and 32 in total.

Fixes: 8df63a4bbe ("wifi: mt76: mt7996: adjust interface num and wtbl size for mt7992")
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Link: https://patch.msgid.link/20251215063728.3013365-7-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Shayne Chen 2025-12-15 14:37:28 +08:00 committed by Felix Fietkau
parent 7f3ec77859
commit 5ef0e8e265

View File

@ -34,6 +34,20 @@ static const struct ieee80211_iface_combination if_comb_global = {
BIT(NL80211_CHAN_WIDTH_40) |
BIT(NL80211_CHAN_WIDTH_80) |
BIT(NL80211_CHAN_WIDTH_160),
.beacon_int_min_gcd = 100,
};
static const struct ieee80211_iface_combination if_comb_global_7992 = {
.limits = &if_limits_global,
.n_limits = 1,
.max_interfaces = 32,
.num_different_channels = MT7996_MAX_RADIOS - 1,
.radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT) |
BIT(NL80211_CHAN_WIDTH_20) |
BIT(NL80211_CHAN_WIDTH_40) |
BIT(NL80211_CHAN_WIDTH_80) |
BIT(NL80211_CHAN_WIDTH_160),
.beacon_int_min_gcd = 100,
};
static const struct ieee80211_iface_limit if_limits[] = {
@ -485,7 +499,8 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed)
hw->vif_data_size = sizeof(struct mt7996_vif);
hw->chanctx_data_size = sizeof(struct mt76_chanctx);
wiphy->iface_combinations = &if_comb_global;
wiphy->iface_combinations = is_mt7996(&dev->mt76) ? &if_comb_global :
&if_comb_global_7992;
wiphy->n_iface_combinations = 1;
wiphy->radio = dev->radios;