[PATCH v2] wifi: ath12k: add support to handle beacon miss for WCN7850
Nicolas Escande
nico.escande at gmail.com
Fri Apr 12 00:33:55 PDT 2024
On Fri Apr 12, 2024 at 4:51 AM CEST, kangyang wrote:
[...]
> @@ -5986,6 +6055,20 @@ static int ath12k_mac_vdev_create(struct ath12k *ar, struct ieee80211_vif *vif)
> lockdep_assert_held(&ar->conf_mutex);
>
> arvif->ar = ar;
> + arvif->vif = vif;
> +
> + INIT_LIST_HEAD(&arvif->list);
> + INIT_DELAYED_WORK(&arvif->connection_loss_work,
> + ath12k_mac_vif_sta_connection_loss_work);
> +
Is there a need to move the following part ?
Isn't just adding the delay work enough ?
> + for (i = 0; i < ARRAY_SIZE(arvif->bitrate_mask.control); i++) {
> + arvif->bitrate_mask.control[i].legacy = 0xffffffff;
> + memset(arvif->bitrate_mask.control[i].ht_mcs, 0xff,
> + sizeof(arvif->bitrate_mask.control[i].ht_mcs));
> + memset(arvif->bitrate_mask.control[i].vht_mcs, 0xff,
> + sizeof(arvif->bitrate_mask.control[i].vht_mcs));
> + }
> +
> vdev_id = __ffs64(ab->free_vdev_map);
> arvif->vdev_id = vdev_id;
> arvif->vdev_subtype = WMI_VDEV_SUBTYPE_NONE;
> @@ -6316,16 +6399,6 @@ static int ath12k_mac_op_add_interface(struct ieee80211_hw *hw,
>
> arvif->vif = vif;
>
> - INIT_LIST_HEAD(&arvif->list);
> -
> - for (i = 0; i < ARRAY_SIZE(arvif->bitrate_mask.control); i++) {
> - arvif->bitrate_mask.control[i].legacy = 0xffffffff;
> - memset(arvif->bitrate_mask.control[i].ht_mcs, 0xff,
> - sizeof(arvif->bitrate_mask.control[i].ht_mcs));
> - memset(arvif->bitrate_mask.control[i].vht_mcs, 0xff,
> - sizeof(arvif->bitrate_mask.control[i].vht_mcs));
> - }
> -
> /* Allocate Default Queue now and reassign during actual vdev create */
> vif->cab_queue = ATH12K_HW_DEFAULT_QUEUE;
> for (i = 0; i < ARRAY_SIZE(vif->hw_queue); i++)
[...]
Thanks
More information about the ath12k
mailing list