mt76: mt76x02u: enable multi-vif support
Enable multi-interface support for mt76x02u driver. For the moment allow max two concurrent interfaces in order to preserve enough room for ps traffic since we are using beacon slots for it. I have successfully tested the following configuration: - AP + STA - AP0 + AP1 Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Tested-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
d5160d867f
commit
f110d1d51d
@ -50,6 +50,20 @@ static const struct ieee80211_iface_limit mt76x02_if_limits[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static const struct ieee80211_iface_limit mt76x02u_if_limits[] = {
|
||||
{
|
||||
.max = 1,
|
||||
.types = BIT(NL80211_IFTYPE_ADHOC)
|
||||
}, {
|
||||
.max = 2,
|
||||
.types = BIT(NL80211_IFTYPE_STATION) |
|
||||
#ifdef CONFIG_MAC80211_MESH
|
||||
BIT(NL80211_IFTYPE_MESH_POINT) |
|
||||
#endif
|
||||
BIT(NL80211_IFTYPE_AP)
|
||||
},
|
||||
};
|
||||
|
||||
static const struct ieee80211_iface_combination mt76x02_if_comb[] = {
|
||||
{
|
||||
.limits = mt76x02_if_limits,
|
||||
@ -64,6 +78,16 @@ static const struct ieee80211_iface_combination mt76x02_if_comb[] = {
|
||||
}
|
||||
};
|
||||
|
||||
static const struct ieee80211_iface_combination mt76x02u_if_comb[] = {
|
||||
{
|
||||
.limits = mt76x02u_if_limits,
|
||||
.n_limits = ARRAY_SIZE(mt76x02u_if_limits),
|
||||
.max_interfaces = 2,
|
||||
.num_different_channels = 1,
|
||||
.beacon_int_infra_match = true,
|
||||
}
|
||||
};
|
||||
|
||||
static void
|
||||
mt76x02_led_set_config(struct mt76_dev *mdev, u8 delay_on,
|
||||
u8 delay_off)
|
||||
@ -140,6 +164,8 @@ void mt76x02_init_device(struct mt76x02_dev *dev)
|
||||
if (mt76_is_usb(dev)) {
|
||||
hw->extra_tx_headroom += sizeof(struct mt76x02_txwi) +
|
||||
MT_DMA_HDR_LEN;
|
||||
wiphy->iface_combinations = mt76x02u_if_comb;
|
||||
wiphy->n_iface_combinations = ARRAY_SIZE(mt76x02u_if_comb);
|
||||
} else {
|
||||
INIT_DELAYED_WORK(&dev->wdt_work, mt76x02_wdt_work);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user