[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