Lines Matching refs:vif

41 					 struct ieee80211_vif *vif,
215 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif);
226 if (ieee80211_vif_is_mesh(vif)) {
707 struct ieee80211_vif *vif)
712 if (counter->cur_vif == vif)
875 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif);
882 sta = ieee80211_find_sta(vif, addr);
922 struct ieee80211_vif *vif;
958 vif = wl12xx_wlvif_to_vif(wlvif);
963 vif->bss_conf.bssid);
966 __wl1271_op_remove_interface(wl, vif, false);
1205 struct ieee80211_vif *vif = info->control.vif;
1211 if (!vif) {
1212 wl1271_debug(DEBUG_TX, "DROP skb with no vif");
1217 wlvif = wl12xx_vif_to_data(vif);
2026 struct ieee80211_vif *vif;
2045 vif = wl12xx_wlvif_to_vif(wlvif);
2046 ieee80211_chswitch_done(vif, false, 0);
2064 struct ieee80211_vif *vif;
2082 vif = wl12xx_wlvif_to_vif(wlvif);
2083 ieee80211_connection_loss(vif);
2174 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif);
2180 else if (ieee80211_vif_is_mesh(vif))
2200 static int wl12xx_init_vif_data(struct wl1271 *wl, struct ieee80211_vif *vif)
2202 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
2208 switch (ieee80211_vif_type_p2p(vif)) {
2387 /* increase the vif count if this is a new vif */
2424 /* current vif */
2425 struct ieee80211_vif *vif;
2426 /* is the current vif among those iterated */
2431 struct ieee80211_vif *vif)
2435 if (vif->type == NL80211_IFTYPE_P2P_DEVICE ||
2436 WARN_ON_ONCE(vif->hw_queue[0] == IEEE80211_INVAL_HW_QUEUE))
2439 if (iter_data->cur_running || vif == iter_data->vif) {
2444 __set_bit(vif->hw_queue[0] / NUM_TX_QUEUES, iter_data->hw_queue_map);
2450 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif);
2454 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) {
2455 vif->cab_queue = IEEE80211_INVAL_HW_QUEUE;
2459 iter_data.vif = vif;
2466 /* the current vif is already running in mac80211 (resume/recovery) */
2468 wlvif->hw_queue_base = vif->hw_queue[0];
2489 vif->hw_queue[i] = wlvif->hw_queue_base + i;
2495 vif->cab_queue = NUM_TX_QUEUES * WLCORE_NUM_MAC_ADDRESSES +
2498 vif->cab_queue = IEEE80211_INVAL_HW_QUEUE;
2504 struct ieee80211_vif *vif)
2507 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
2517 vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER |
2522 ieee80211_vif_type_p2p(vif), vif->addr);
2524 wl12xx_get_vif_count(hw, vif, &vif_count);
2540 ret = wl12xx_init_vif_data(wl, vif);
2564 memcpy(wl->addresses[0].addr, vif->addr, ETH_ALEN);
2588 ret = wl12xx_cmd_role_enable(wl, vif->addr,
2593 ret = wl1271_init_vif_specific(wl, vif);
2598 ret = wl12xx_cmd_role_enable(wl, vif->addr, WL1271_ROLE_DEVICE,
2626 struct ieee80211_vif *vif,
2629 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
2666 if (wl->roc_vif == vif) {
2777 struct ieee80211_vif *vif)
2780 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
2784 wl12xx_get_vif_count(hw, vif, &vif_count);
2792 * wl->vif can be null here if someone shuts down the interface
2799 __wl1271_op_remove_interface(wl, vif, true);
2813 struct ieee80211_vif *vif,
2820 wl1271_op_remove_interface(hw, vif);
2822 vif->type = new_type;
2823 vif->p2p = p2p;
2824 ret = wl1271_op_add_interface(hw, vif);
2883 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif);
2891 skb = ieee80211_ap_probereq_get(wl->hw, vif);
2907 struct ieee80211_vif *vif = container_of(bss_conf, struct ieee80211_vif,
2912 wlvif->aid = vif->cfg.aid;
3030 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif);
3033 ieee80211_chswitch_done(vif, false, 0);
3422 struct ieee80211_vif *vif,
3452 ret = wlcore_hw_set_key(wl, cmd, vif, sta, key_conf);
3467 struct ieee80211_vif *vif,
3471 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
3577 struct ieee80211_vif *vif,
3581 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
3650 struct ieee80211_vif *vif,
3689 ret = wlcore_scan(hw->priv, vif, ssid, len, req);
3700 struct ieee80211_vif *vif)
3703 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
3751 struct ieee80211_vif *vif,
3756 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
3787 struct ieee80211_vif *vif)
3790 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
3906 struct ieee80211_vif *vif)
3908 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
3912 skb = ieee80211_proberesp_get(wl->hw, vif);
3934 struct ieee80211_vif *vif,
3939 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
3952 if (probe_rsp_len + vif->cfg.ssid_len > WL1271_CMD_TEMPL_MAX_SIZE) {
3974 probe_rsp_templ[ssid_ie_offset + 1] = vif->cfg.ssid_len;
3976 vif->cfg.ssid, vif->cfg.ssid_len);
3977 templ_len = ssid_ie_offset + 2 + vif->cfg.ssid_len;
3979 memcpy(probe_rsp_templ + ssid_ie_offset + 2 + vif->cfg.ssid_len,
3991 struct ieee80211_vif *vif,
3995 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
4034 struct ieee80211_vif *vif,
4037 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
4042 struct sk_buff *beacon = ieee80211_beacon_get(wl->hw, vif, 0);
4100 ret = wl1271_ap_set_probe_resp_tmpl_legacy(wl, vif,
4120 struct ieee80211_vif *vif,
4124 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
4138 wl1271_ap_set_probe_resp_tmpl(wl, rate, vif);
4142 ret = wlcore_set_beacon_template(wl, vif, is_ap);
4161 struct ieee80211_vif *vif,
4165 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
4182 ret = wl1271_ap_init_templates(wl, vif);
4187 if (!ieee80211_vif_is_mesh(vif)) {
4190 vif);
4195 ret = wlcore_set_beacon_template(wl, vif, true);
4200 ret = wl1271_bss_beacon_info_changed(wl, vif, bss_conf, changed);
4239 ret = wl1271_bss_erp_info_changed(wl, vif, bss_conf, changed);
4259 struct ieee80211_vif *vif, u32 sta_rate_set)
4261 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf;
4267 bss_conf->bssid, vif->cfg.aid,
4333 struct ieee80211_vif *vif,
4337 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
4348 ret = wl1271_bss_beacon_info_changed(wl, vif, bss_conf,
4355 if (vif->cfg.ibss_joined) {
4379 wl1271_sta_handle_idle(wl, wlvif, vif->cfg.idle);
4396 sta = ieee80211_find_sta(vif, bss_conf->bssid);
4415 ret = wlcore_set_bssid(wl, wlvif, vif,
4431 vif->cfg.ibss_joined);
4433 if (vif->cfg.ibss_joined) {
4457 ret = wl1271_bss_erp_info_changed(wl, vif, bss_conf, changed);
4470 if (vif->cfg.assoc) {
4484 if (vif->cfg.ps &&
4504 } else if (!vif->cfg.ps &&
4545 __be32 addr = vif->cfg.arp_addr_list[0];
4549 if (vif->cfg.arp_addr_cnt == 1 && vif->cfg.assoc) {
4581 struct ieee80211_vif *vif,
4586 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
4627 wl1271_bss_info_changed_ap(wl, vif, bss_conf, changed);
4629 wl1271_bss_info_changed_sta(wl, vif, bss_conf, changed);
4676 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif);
4679 if (rcu_access_pointer(vif->bss_conf.chanctx_conf) != ctx) {
4703 struct ieee80211_vif *vif,
4708 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
4754 struct ieee80211_vif *vif,
4759 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
4802 "switch vif (role %d) %d -> %d chan_type: %d",
4851 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vifs[i].vif);
4867 struct ieee80211_vif *vif,
4872 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
4922 struct ieee80211_vif *vif)
4926 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
5235 struct ieee80211_vif *vif,
5241 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
5270 struct ieee80211_vif *vif,
5274 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
5395 struct ieee80211_vif *vif,
5398 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
5439 struct ieee80211_vif *vif,
5443 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
5454 ieee80211_chswitch_done(vif, false, 0);
5464 /* TODO: change mac80211 to pass vif as param */
5524 struct ieee80211_vif *vif,
5528 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
5569 static void wlcore_op_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
5578 struct ieee80211_vif *vif,
5583 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
5613 wl->roc_vif = vif;
5689 struct ieee80211_vif *vif)
5695 /* TODO: per-vif */
5709 struct ieee80211_vif *vif,
5713 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
5728 struct ieee80211_vif *vif,
5733 struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);