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 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 ?

________________________________
The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any retransmission, dissemination, copying or other use of, or taking of any action in reliance upon this information is prohibited. If you received this in error, please contact the sender and delete the material from any computer. Nothing contained herein shall be deemed as a representation, warranty or a commitment by Celeno. No warranties are expressed or implied, including, but not limited to, any implied warranties of non-infringement, merchantability and fitness for a particular purpose.
________________________________





[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