Lines Matching refs:e
114 struct hwsim_edge *e; in hwsim_hw_xmit() local
120 list_for_each_entry_rcu(e, ¤t_phy->edges, list) { in hwsim_hw_xmit()
126 if (e->endpoint->suspended) in hwsim_hw_xmit()
129 endpoint_pib = rcu_dereference(e->endpoint->pib); in hwsim_hw_xmit()
134 einfo = rcu_dereference(e->info); in hwsim_hw_xmit()
136 ieee802154_rx_irqsafe(e->endpoint->hw, newskb, in hwsim_hw_xmit()
209 struct hwsim_edge *e; in append_radio_msg() local
229 list_for_each_entry_rcu(e, &phy->edges, list) { in append_radio_msg()
239 e->endpoint->idx); in append_radio_msg()
247 einfo = rcu_dereference(e->info); in append_radio_msg()
383 struct hwsim_edge *e; in hwsim_alloc_edge() local
385 e = kzalloc(sizeof(*e), GFP_KERNEL); in hwsim_alloc_edge()
386 if (!e) in hwsim_alloc_edge()
391 kfree(e); in hwsim_alloc_edge()
396 rcu_assign_pointer(e->info, einfo); in hwsim_alloc_edge()
397 e->endpoint = endpoint; in hwsim_alloc_edge()
399 return e; in hwsim_alloc_edge()
402 static void hwsim_free_edge(struct hwsim_edge *e) in hwsim_free_edge() argument
407 einfo = rcu_dereference(e->info); in hwsim_free_edge()
411 kfree_rcu(e, rcu); in hwsim_free_edge()
418 struct hwsim_edge *e; in hwsim_new_edge_nl() local
451 list_for_each_entry_rcu(e, &phy_v0->edges, list) { in hwsim_new_edge_nl()
452 if (e->endpoint->idx == v1) { in hwsim_new_edge_nl()
460 e = hwsim_alloc_edge(phy_v1, 0xff); in hwsim_new_edge_nl()
461 if (!e) { in hwsim_new_edge_nl()
465 list_add_rcu(&e->list, &phy_v0->edges); in hwsim_new_edge_nl()
480 struct hwsim_edge *e; in hwsim_del_edge_nl() local
504 list_for_each_entry_rcu(e, &phy_v0->edges, list) { in hwsim_del_edge_nl()
505 if (e->endpoint->idx == v1) { in hwsim_del_edge_nl()
507 list_del_rcu(&e->list); in hwsim_del_edge_nl()
508 hwsim_free_edge(e); in hwsim_del_edge_nl()
527 struct hwsim_edge *e; in hwsim_set_edge_lqi() local
560 list_for_each_entry_rcu(e, &phy_v0->edges, list) { in hwsim_set_edge_lqi()
561 if (e->endpoint->idx == v1) { in hwsim_set_edge_lqi()
563 einfo_old = rcu_replace_pointer(e->info, einfo, in hwsim_set_edge_lqi()
681 struct hwsim_edge *e; in hwsim_edge_unsubscribe_me() local
686 list_for_each_entry_rcu(e, &tmp->edges, list) { in hwsim_edge_unsubscribe_me()
687 if (e->endpoint->idx == phy->idx) { in hwsim_edge_unsubscribe_me()
688 list_del_rcu(&e->list); in hwsim_edge_unsubscribe_me()
689 hwsim_free_edge(e); in hwsim_edge_unsubscribe_me()
701 struct hwsim_edge *e; in hwsim_subscribe_all_others() local
704 e = hwsim_alloc_edge(sub, 0xff); in hwsim_subscribe_all_others()
705 if (!e) in hwsim_subscribe_all_others()
708 list_add_rcu(&e->list, &phy->edges); in hwsim_subscribe_all_others()
712 e = hwsim_alloc_edge(phy, 0xff); in hwsim_subscribe_all_others()
713 if (!e) in hwsim_subscribe_all_others()
716 list_add_rcu(&e->list, &sub->edges); in hwsim_subscribe_all_others()
725 list_for_each_entry_rcu(e, &phy->edges, list) { in hwsim_subscribe_all_others()
726 list_del_rcu(&e->list); in hwsim_subscribe_all_others()
727 hwsim_free_edge(e); in hwsim_subscribe_all_others()
831 struct hwsim_edge *e; in hwsim_del() local
838 list_for_each_entry_rcu(e, &phy->edges, list) { in hwsim_del()
839 list_del_rcu(&e->list); in hwsim_del()
840 hwsim_free_edge(e); in hwsim_del()