Search Linux Wireless

Re: [PATCH V2 06/10] ath11k: pass multiple bssid info to FW when a new vdev is created

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux