summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath6kl/init.c
diff options
context:
space:
mode:
authorKalle Valo <kvalo@qca.qualcomm.com>2011-11-14 19:31:38 +0200
committerKalle Valo <kvalo@qca.qualcomm.com>2011-11-16 10:22:34 +0200
commit368b1b0f4b0328f488780605c423aafe1e6235b5 (patch)
treef32562db4e4b7fd2c1d2f4b01f76551a20128263 /drivers/net/wireless/ath/ath6kl/init.c
parent71f96ee6c6fd50fefb3f5550f25380060a85eebf (diff)
ath6kl: add firmware IE for maximum number of vifs
Not all firmwares support multiple vifs and we need to read the limit from the firmware image. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/init.c')
-rw-r--r--drivers/net/wireless/ath/ath6kl/init.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/init.c b/drivers/net/wireless/ath/ath6kl/init.c
index 0f724616656..6c4f6a9567c 100644
--- a/drivers/net/wireless/ath/ath6kl/init.c
+++ b/drivers/net/wireless/ath/ath6kl/init.c
@@ -963,6 +963,17 @@ static int ath6kl_fetch_fw_api2(struct ath6kl *ar)
"found board address ie 0x%x\n",
ar->hw.board_addr);
break;
+ case ATH6KL_FW_IE_VIF_MAX:
+ if (ie_len != sizeof(*val))
+ break;
+
+ val = (__le32 *) data;
+ ar->vif_max = min_t(unsigned int, le32_to_cpup(val),
+ ATH6KL_VIF_MAX);
+
+ ath6kl_dbg(ATH6KL_DBG_BOOT,
+ "found vif max ie %d\n", ar->vif_max);
+ break;
default:
ath6kl_dbg(ATH6KL_DBG_BOOT, "Unknown fw ie: %u\n",
le32_to_cpup(&hdr->id));