Lines Matching defs:vif

102 	struct ieee80211_vif *vif = NULL;
135 vif = wvif_to_vif(wvif);
137 if (*total_flags & FIF_PROBE_REQ && vif->type == NL80211_IFTYPE_AP) {
157 struct ieee80211_vif *vif = wvif_to_vif(wvif);
159 WARN(!vif->cfg.assoc && enable_ps,
173 if (chan0 && chan1 && vif->type != NL80211_IFTYPE_AP) {
178 if (vif->cfg.assoc && vif->cfg.ps)
191 *enable_ps = vif->cfg.ps;
192 if (vif->cfg.assoc && vif->cfg.ps)
200 struct ieee80211_vif *vif = wvif_to_vif(wvif);
204 if (!vif->cfg.assoc)
218 int wfx_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
223 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv;
231 if (vif->type == NL80211_IFTYPE_STATION &&
255 struct ieee80211_vif *vif = wvif_to_vif(wvif);
260 if (rcpi_rssi <= vif->bss_conf.cqm_rssi_thold)
264 ieee80211_cqm_rssi_notify(vif, cqm_evt, rcpi_rssi, GFP_KERNEL);
271 struct ieee80211_vif *vif = wvif_to_vif(wvif);
272 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf;
274 ieee80211_beacon_loss(vif);
278 void wfx_set_default_unicast_key(struct ieee80211_hw *hw, struct ieee80211_vif *vif, int idx)
280 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv;
302 int wfx_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta)
304 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv;
309 if (vif->type == NL80211_IFTYPE_STATION)
313 if (vif->type == NL80211_IFTYPE_STATION && !sta->tdls)
324 int wfx_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta)
326 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv;
340 struct ieee80211_vif *vif = wvif_to_vif(wvif);
343 skb = ieee80211_beacon_get(wvif->wdev->hw, vif, 0);
349 skb = ieee80211_proberesp_get(wvif->wdev->hw, vif);
359 struct ieee80211_vif *vif = wvif_to_vif(wvif);
360 struct sk_buff *skb = ieee80211_beacon_get(wvif->wdev->hw, vif, 0);
396 int wfx_start_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
399 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv;
406 wvif = (struct wfx_vif *)vif->drv_priv;
408 ret = wfx_hif_start(wvif, &vif->bss_conf, wvif->channel);
414 void wfx_stop_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
417 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv;
424 struct ieee80211_vif *vif = wvif_to_vif(wvif);
425 struct ieee80211_bss_conf *conf = &vif->bss_conf;
436 if (!bss && !vif->cfg.ibss_joined) {
457 ieee80211_connection_loss(vif);
471 struct ieee80211_vif *vif = wvif_to_vif(wvif);
477 if (info->bssid && !vif->cfg.ibss_joined)
478 sta = ieee80211_find_sta(vif, info->bssid);
490 wfx_hif_set_bss_params(wvif, vif->cfg.aid, 7);
495 int wfx_join_ibss(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
497 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv;
504 void wfx_leave_ibss(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
506 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv;
524 void wfx_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
528 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv;
536 if (vif->type == NL80211_IFTYPE_STATION)
541 if (vif->cfg.assoc || vif->cfg.ibss_joined)
543 else if (!vif->cfg.assoc && vif->type == NL80211_IFTYPE_STATION)
550 if (vif->type != NL80211_IFTYPE_STATION)
559 __be32 *arp_addr = &vif->cfg.arp_addr_list[i];
561 if (vif->cfg.arp_addr_cnt > HIF_MAX_ARP_IP_ADDRTABLE_ENTRIES)
563 if (i >= vif->cfg.arp_addr_cnt)
599 struct ieee80211_vif *vif = wvif_to_vif(wvif);
604 skb = ieee80211_beacon_get_tim(wvif->wdev->hw, vif, &tim_offset,
641 dev_warn(wdev->dev, "%s: received event for non-existent vif\n", __func__);
670 int wfx_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
698 int wfx_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
702 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv;
711 void wfx_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
715 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv;
727 int wfx_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
731 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv;
733 vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER |
739 switch (vif->type) {
766 for (i = 0; i < ARRAY_SIZE(wdev->vif); i++) {
767 if (!wdev->vif[i]) {
768 wdev->vif[i] = vif;
773 WARN(i == ARRAY_SIZE(wdev->vif), "try to instantiate more vif than supported");
775 wfx_hif_set_macaddr(wvif, vif->addr);
790 void wfx_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
793 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv;
806 wdev->vif[wvif->id] = NULL;