From: Vasanthakumar Thiagarajan Date: Fri, 18 Nov 2011 04:35:27 +0000 (+0530) Subject: ath6kl: Find ar->max_norm_iface in firmware IE parsing X-Git-Tag: firefly_0821_release~3680^2~2381^2~57^2~287^2~202 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f143379dbf5e0709d6d39b50995ff6d697564834;p=firefly-linux-kernel-4.4.55.git 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 --- diff --git a/drivers/net/wireless/ath/ath6kl/cfg80211.c b/drivers/net/wireless/ath/ath6kl/cfg80211.c index e37d78bd26f1..3795686f6e2a 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 78f9349bd3e3..075f16a80f05 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;