[PATCH V2 06/10] ath11k: pass multiple bssid info to FW when a new vdev is created
John Crispin
john at phrozen.org
Sun Aug 2 11:40:58 EDT 2020
On 02.08.20 17:02, Shay Bar wrote:
> On 06/07/2020 14:52, John Crispin wrote:
>> -static void
>> +static int
>> ath11k_mac_setup_vdev_create_params(struct ath11k_vif *arvif,
>> struct vdev_create_params *params)
>> {
>> struct ath11k *ar = arvif->ar;
>> struct ath11k_pdev *pdev = ar->pdev;
>> + struct ieee80211_vif *parent;
>>
>> params->if_id = arvif->vdev_id;
>> params->type = arvif->vdev_type;
>> params->subtype = arvif->vdev_subtype;
>> params->pdev_id = pdev->pdev_id;
>> + params->vdevid_trans = 0;
>> + switch (ieee80211_get_multi_bssid_mode(arvif->vif)) {
>> + case NL80211_MULTIPLE_BSSID_TRANSMITTED:
>> + params->flags = WMI_HOST_VDEV_FLAGS_TRANSMIT_AP;
>> + break;
>> + case NL80211_MULTIPLE_BSSID_NON_TRANSMITTED:
>> + params->flags = WMI_HOST_VDEV_FLAGS_NON_TRANSMIT_AP;
>> + parent = ieee80211_get_multi_bssid_parent(arvif->vif);
>> + if (!parent)
>> + return -ENOENT;
>> + if (ar->hw->wiphy != ieee80211_vif_to_wdev(parent)->wiphy)
>> + return -EINVAL;
>> + params->vdevid_trans = ath11k_vif_to_arvif(parent)->vdev_id;
>> + break;
>> + default:
>> + params->flags = WMI_HOST_VDEV_FLAGS_NON_MBSSID_AP;
>> + break;
>> + }
> Hi John,
> The ath11k_mac_setup_vdev_create_params() is called from the add_interface hook
> which is called from ieee80211_do_open() which is, for the first (TRANSMITTED)
> interface, before wdev->multi_bssid_mode is set to NL80211_MULTIPLE_BSSID_TRANSMITTED
> (set upon start_ap from hostapd).
> Can you please explain how wdev->multi_bssid_mode can have
> NL80211_MULTIPLE_BSSID_TRANSMITTED value in the above code ?
Hi Shay,
https://patchwork.kernel.org/patch/11587085/
John
More information about the ath11k
mailing list