From f143379dbf5e0709d6d39b50995ff6d697564834 Mon Sep 17 00:00:00 2001 From: Vasanthakumar Thiagarajan Date: Fri, 18 Nov 2011 10:05:27 +0530 Subject: [PATCH] ath6kl: Find ar->max_norm_iface in firmware IE parsing Currently the max number of vifs which can be used for non-p2p mode is determined in ath6kl_core_alloc(). But the maximum supported vifs are parsed from firmware IE in ath6kl_fetch_fw_api2() which would happen after ath6kl_core_alloc(). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Kalle Valo --- drivers/net/wireless/ath/ath6kl/cfg80211.c | 6 ------ drivers/net/wireless/ath/ath6kl/init.c | 3 +++ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/net/wireless/ath/ath6kl/cfg80211.c b/drivers/net/wireless/ath/ath6kl/cfg80211.c index e37d78bd26f..3795686f6e2 100644 --- a/drivers/net/wireless/ath/ath6kl/cfg80211.c +++ b/drivers/net/wireless/ath/ath6kl/cfg80211.c @@ -2456,12 +2456,6 @@ struct ath6kl *ath6kl_core_alloc(struct device *dev) ar->vif_max = 1; - if (!ar->p2p) - ar->max_norm_iface = 2; - else - ar->max_norm_iface = 1; - - /* FIXME: Remove this once the multivif support is enabled */ ar->max_norm_iface = 1; spin_lock_init(&ar->lock); diff --git a/drivers/net/wireless/ath/ath6kl/init.c b/drivers/net/wireless/ath/ath6kl/init.c index 78f9349bd3e..075f16a80f0 100644 --- a/drivers/net/wireless/ath/ath6kl/init.c +++ b/drivers/net/wireless/ath/ath6kl/init.c @@ -971,6 +971,9 @@ static int ath6kl_fetch_fw_api2(struct ath6kl *ar) ar->vif_max = min_t(unsigned int, le32_to_cpup(val), ATH6KL_VIF_MAX); + if (ar->vif_max > 1 && !ar->p2p) + ar->max_norm_iface = 2; + ath6kl_dbg(ATH6KL_DBG_BOOT, "found vif max ie %d\n", ar->vif_max); break; -- 2.39.5