[PATCH v2 12/21] ath10k: Support up to 64 vdevs.
greearb at candelatech.com
greearb at candelatech.com
Wed May 11 10:02:24 PDT 2016
From: Ben Greear <greearb at candelatech.com>
The (1 << x) - 1 trick won't work when you
are trying to fill up all 64 bits, so add special
case for that.
And, move the limits to the per-nic structure instead
of per-driver to allow better dynamic use of the limits.
Signed-off-by: Ben Greear <greearb at candelatech.com>
---
drivers/net/wireless/ath/ath10k/core.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
index 3f1786c..fa71d57 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -1819,7 +1819,10 @@ int ath10k_core_start(struct ath10k *ar, enum ath10k_firmware_mode mode,
if (status)
goto err_hif_stop;
- ar->free_vdev_map = (1LL << ar->max_num_vdevs) - 1;
+ if (ar->max_num_vdevs >= 64)
+ ar->free_vdev_map = 0xFFFFFFFFFFFFFFFFLL;
+ else
+ ar->free_vdev_map = (1LL << ar->max_num_vdevs) - 1;
INIT_LIST_HEAD(&ar->arvifs);
--
2.4.3
More information about the ath10k
mailing list