From 54a11b39ea982043cb16fa426fc6160f90030045 Mon Sep 17 00:00:00 2001 From: psyborg55 Date: Mon, 30 Jul 2018 19:49:23 +0000 Subject: [PATCH 1/2] increase number of configurable virtual interfaces MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Testing with AR9271 USB device I was able to start 8 VAPs, but one client device could connect only if 7 VAPs were configured. This might need more work to make the feature fully usable, but even at present situation it enables functionality that was previously disabled. Updated ath9k_htc firmware is required too, PR already opened: https://github.com/qca/open-ath9k-htc-firmware/pull/149 Signed-off-by: Tomislav Požega --- drivers/net/wireless/ath/ath9k/htc.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/htc.h b/drivers/net/wireless/ath/ath9k/htc.h index 9f64e32381f945..4a704c30d37fff 100644 --- a/drivers/net/wireless/ath/ath9k/htc.h +++ b/drivers/net/wireless/ath/ath9k/htc.h @@ -197,8 +197,8 @@ struct ath9k_htc_target_rx_stats { __be32 host_done; } __packed; -#define ATH9K_HTC_MAX_VIF 2 -#define ATH9K_HTC_MAX_BCN_VIF 2 +#define ATH9K_HTC_MAX_VIF 8 +#define ATH9K_HTC_MAX_BCN_VIF 8 #define INC_VIF(_priv, _type) do { \ switch (_type) { \ From 8707dba52355fd37372739625ad351a83097dc2a Mon Sep 17 00:00:00 2001 From: psyborg55 Date: Mon, 30 Jul 2018 19:52:32 +0000 Subject: [PATCH 2/2] increase number of configurable virtual interfaces MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Testing with AR9271 USB device I was able to start 8 VAPs, but one client device could connect only if 7 VAPs were configured. This might need more work to make the feature fully usable, but even at present situation it enables functionality that was previously disabled. Updated ath9k_htc firmware is required too, PR already opened: https://github.com/qca/open-ath9k-htc-firmware/pull/149 Signed-off-by: Tomislav Požega --- drivers/net/wireless/ath/ath9k/htc_drv_init.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c b/drivers/net/wireless/ath/ath9k/htc_drv_init.c index 214c68269a69f7..fa13ba9ae1f938 100644 --- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c @@ -697,9 +697,9 @@ static int ath9k_init_priv(struct ath9k_htc_priv *priv, } static const struct ieee80211_iface_limit if_limits[] = { - { .max = 2, .types = BIT(NL80211_IFTYPE_STATION) | + { .max = 8, .types = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_P2P_CLIENT) }, - { .max = 2, .types = BIT(NL80211_IFTYPE_AP) | + { .max = 8, .types = BIT(NL80211_IFTYPE_AP) | #ifdef CONFIG_MAC80211_MESH BIT(NL80211_IFTYPE_MESH_POINT) | #endif @@ -709,7 +709,7 @@ static const struct ieee80211_iface_limit if_limits[] = { static const struct ieee80211_iface_combination if_comb = { .limits = if_limits, .n_limits = ARRAY_SIZE(if_limits), - .max_interfaces = 2, + .max_interfaces = 8, .num_different_channels = 1, };