[PATCH 3/7] ath10k: track vif list internally
Kalle Valo
kvalo at qca.qualcomm.com
Tue Oct 15 14:49:19 EDT 2013
Kalle Valo <kvalo at qca.qualcomm.com> writes:
> From: Michal Kazior <michal.kazior at tieto.com>
>
> mac80211 interface interations functions have
> peculiar locking issues. This patch introduces
> internal (to ath10k) vif list that will be used
> for vif iteration purposes.
>
> Signed-off-by: Michal Kazior <michal.kazior at tieto.com>
> Signed-off-by: Kalle Valo <kvalo at qca.qualcomm.com>
[...]
> --- a/drivers/net/wireless/ath/ath10k/core.c
> +++ b/drivers/net/wireless/ath/ath10k/core.c
> @@ -713,6 +713,7 @@ struct ath10k *ath10k_core_create(void *hif_priv, struct device *dev,
> mutex_init(&ar->conf_mutex);
> spin_lock_init(&ar->data_lock);
>
> + INIT_LIST_HEAD(&ar->arvifs);
> INIT_LIST_HEAD(&ar->peers);
> init_waitqueue_head(&ar->peer_mapping_wq);
>
> @@ -824,6 +825,7 @@ int ath10k_core_start(struct ath10k *ar)
> goto err_disconnect_htc;
>
> ar->free_vdev_map = (1 << TARGET_NUM_VDEVS) - 1;
> + INIT_LIST_HEAD(&ar->arvifs);
>
> return 0;
Michal, why do the INIT_LIST_HEAD() twice? Isn't it enough to do it
core_start()?
--
Kalle Valo
More information about the ath10k
mailing list