Lines Matching defs:vif

16 	struct wil6210_vif *vif;
20 vif = wil->vifs[i];
21 if (vif) {
22 ndev_i = vif_to_ndev(vif);
144 struct wil6210_vif *vif;
150 vif = wil->vifs[txdata->mid];
151 if (unlikely(!vif)) {
156 tx_done += wil_tx_complete(vif, i);
201 static void wil_vif_deinit(struct wil6210_vif *vif)
203 del_timer_sync(&vif->scan_timer);
204 del_timer_sync(&vif->p2p.discovery_timer);
205 cancel_work_sync(&vif->disconnect_worker);
206 cancel_work_sync(&vif->p2p.discovery_expired_work);
207 cancel_work_sync(&vif->p2p.delayed_listen_work);
208 wil_probe_client_flush(vif);
209 cancel_work_sync(&vif->probe_client_worker);
210 cancel_work_sync(&vif->enable_tx_key_worker);
213 void wil_vif_free(struct wil6210_vif *vif)
215 struct net_device *ndev = vif_to_ndev(vif);
217 wil_vif_deinit(vif);
223 struct wil6210_vif *vif = ndev_to_vif(ndev);
225 wil_vif_deinit(vif);
230 struct wil6210_vif *vif = from_timer(vif, t, connect_timer);
231 struct wil6210_priv *wil = vif_to_wil(vif);
240 q = queue_work(wil->wmi_wq, &vif->disconnect_worker);
246 struct wil6210_vif *vif = from_timer(vif, t, scan_timer);
247 struct wil6210_priv *wil = vif_to_wil(vif);
256 struct wil6210_vif *vif = from_timer(vif, t, p2p.discovery_timer);
257 struct wil6210_priv *wil = vif_to_wil(vif);
261 schedule_work(&vif->p2p.discovery_expired_work);
264 static void wil_vif_init(struct wil6210_vif *vif)
266 vif->bcast_ring = -1;
268 mutex_init(&vif->probe_client_mutex);
270 timer_setup(&vif->connect_timer, wil_connect_timer_fn, 0);
271 timer_setup(&vif->scan_timer, wil_scan_timer_fn, 0);
272 timer_setup(&vif->p2p.discovery_timer, wil_p2p_discovery_timer_fn, 0);
274 INIT_WORK(&vif->probe_client_worker, wil_probe_client_worker);
275 INIT_WORK(&vif->disconnect_worker, wil_disconnect_worker);
276 INIT_WORK(&vif->p2p.discovery_expired_work, wil_p2p_listen_expired);
277 INIT_WORK(&vif->p2p.delayed_listen_work, wil_p2p_delayed_listen_work);
278 INIT_WORK(&vif->enable_tx_key_worker, wil_enable_tx_key_worker);
280 INIT_LIST_HEAD(&vif->probe_client_pending);
282 vif->net_queue_stopped = 1;
303 struct wil6210_vif *vif;
312 ndev = alloc_netdev(sizeof(*vif), name, name_assign_type,
325 vif = ndev_to_vif(ndev);
326 vif->ndev = ndev;
327 vif->wil = wil;
328 vif->mid = mid;
329 wil_vif_init(vif);
331 wdev = &vif->wdev;
345 return vif;
351 struct wil6210_vif *vif;
368 vif = wil_vif_alloc(wil, "wlan%d", NET_NAME_UNKNOWN,
370 if (IS_ERR(vif)) {
376 wil->radio_wdev = vif_to_wdev(vif);
407 int wil_vif_add(struct wil6210_priv *wil, struct wil6210_vif *vif)
409 struct net_device *ndev = vif_to_ndev(vif);
410 struct wireless_dev *wdev = vif_to_wdev(vif);
416 if (wil->vifs[vif->mid]) {
418 vif->mid);
421 if (any_active && vif->mid != 0) {
422 rc = wmi_port_allocate(wil, vif->mid, ndev->dev_addr,
430 if (any_active && vif->mid != 0)
431 wmi_port_delete(wil, vif->mid);
435 wil->vifs[vif->mid] = vif;
443 struct wil6210_vif *vif = ndev_to_vif(ndev);
469 wil_update_net_queues_bh(wil, vif, NULL, true);
473 rc = wil_vif_add(wil, vif);
488 struct wil6210_vif *vif;
498 vif = wil->vifs[mid];
499 if (!vif) {
505 wil6210_disconnect(vif, NULL, WLAN_REASON_DEAUTH_LEAVING);
508 ndev = vif_to_ndev(vif);
514 if (any_active && vif->mid != 0)
515 wmi_port_delete(wil, vif->mid);
529 del_timer_sync(&vif->connect_timer);
530 cancel_work_sync(&vif->disconnect_worker);
531 wil_probe_client_flush(vif);
532 cancel_work_sync(&vif->probe_client_worker);
533 cancel_work_sync(&vif->enable_tx_key_worker);