[PATCH 3/3] ath10k: fix station count enforcement
Kalle Valo
kvalo at qca.qualcomm.com
Tue Nov 25 00:01:55 PST 2014
Michal Kazior <michal.kazior at tieto.com> writes:
> The number of peers isn't directly translatable to
> the number of stations because ath10k needs to
> reserve a few extra peers for special cases like
> multi-vif concurrency.
>
> The previous limit was 126 and 15 stations in AP
> mode for 10.x and main firmware branches
> respectively. The limit is now 128 and 16 which
> was the original intention.
>
> Signed-off-by: Michal Kazior <michal.kazior at tieto.com>
[...]
> +static void ath10k_core_init_max_sta_count(struct ath10k *ar)
> +{
> + if (test_bit(ATH10K_FW_FEATURE_WMI_10X, ar->fw_features)) {
> + ar->max_num_peers = TARGET_10X_NUM_PEERS;
> + ar->max_num_stations = TARGET_10X_NUM_STATIONS;
> + } else {
> + ar->max_num_peers = TARGET_NUM_PEERS;
> + ar->max_num_stations = TARGET_NUM_STATIONS;
> + }
> +}
> +
> int ath10k_core_start(struct ath10k *ar, enum ath10k_firmware_mode mode)
> {
> int status;
> @@ -939,6 +950,8 @@ int ath10k_core_start(struct ath10k *ar, enum ath10k_firmware_mode mode)
> else
> ar->free_vdev_map = (1LL << TARGET_NUM_VDEVS) - 1;
>
> + ath10k_core_init_max_sta_count(ar);
I don't see the need to call this during every firmware start as these
are not changed afterwards. I think it would be better to call this once
just after ath10k_core_fetch_firmware_files() is called.
--
Kalle Valo
More information about the ath10k
mailing list