On 25 November 2014 at 09:01, Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> wrote: > Michal Kazior <michal.kazior@xxxxxxxxx> 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@xxxxxxxxx> > > [...] > >> +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. Hmm.. It makes sense but now that I think about it the max number of peers should actually depend on WMI_SERVICE_IRAM_TIDS which is known after booting firmware. However since only 10.x was released with the service enabled we used fw_features. So.. yeah. I can move the function call if you want though. Michał -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html