[PATCH] ath10k: fix vdev map size for 10.x firmware
Ben Greear
greearb at candelatech.com
Thu May 29 06:47:04 PDT 2014
On 05/29/2014 06:36 AM, Bartosz Markowski wrote:
> Firmware 10.x supports up to 8 virtual AP interfaces
> (comparing to 7 for main firmware). Previous vdev map
> initialization was missing enough space for 8 + 1 vdevs
> (we may spent one for mac monitor), due to wrong define used.
>
> Use correct one - TARGET_10X_NUM_VDEVS - for 10.x firmware.
You are bumping total vdevs up to 16 with that patch...have you
actually tested that many? The stock firmware has quite a bit of
deficiencies in the concurrency handling, at least for stations.
For what it's worth, my firmware will only work on stock kernels
because I ignore the request for 16 vdevs in the firmware and knock
it down to 8 to match the kernel driver (before your change below).
Thanks,
Ben
>
> Signed-off-by: Bartosz Markowski <bartosz.markowski at tieto.com>
> ---
> drivers/net/wireless/ath/ath10k/core.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
> index 82017f5..e6c56c5 100644
> --- a/drivers/net/wireless/ath/ath10k/core.c
> +++ b/drivers/net/wireless/ath/ath10k/core.c
> @@ -795,7 +795,11 @@ int ath10k_core_start(struct ath10k *ar)
> if (status)
> goto err_htc_stop;
>
> - ar->free_vdev_map = (1 << TARGET_NUM_VDEVS) - 1;
> + if (test_bit(ATH10K_FW_FEATURE_WMI_10X, ar->fw_features))
> + ar->free_vdev_map = (1 << TARGET_10X_NUM_VDEVS) - 1;
> + else
> + ar->free_vdev_map = (1 << TARGET_NUM_VDEVS) - 1;
> +
> INIT_LIST_HEAD(&ar->arvifs);
>
> if (!test_bit(ATH10K_FLAG_FIRST_BOOT_DONE, &ar->dev_flags))
>
--
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc http://www.candelatech.com
More information about the ath10k
mailing list