diff options
author | Kalle Valo <kvalo@qca.qualcomm.com> | 2011-11-14 19:31:38 +0200 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2011-11-16 10:22:34 +0200 |
commit | 368b1b0f4b0328f488780605c423aafe1e6235b5 (patch) | |
tree | f32562db4e4b7fd2c1d2f4b01f76551a20128263 /drivers/net/wireless/ath/ath6kl/init.c | |
parent | 71f96ee6c6fd50fefb3f5550f25380060a85eebf (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.c | 11 |
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)); |