Lines Matching refs:sap
35 struct llc_sap *sap = kzalloc(sizeof(*sap), GFP_ATOMIC); in llc_sap_alloc() local
38 if (sap) { in llc_sap_alloc()
40 sap->state = LLC_SAP_STATE_ACTIVE; in llc_sap_alloc()
41 spin_lock_init(&sap->sk_lock); in llc_sap_alloc()
43 INIT_HLIST_NULLS_HEAD(&sap->sk_laddr_hash[i], i); in llc_sap_alloc()
44 refcount_set(&sap->refcnt, 1); in llc_sap_alloc()
46 return sap; in llc_sap_alloc()
51 struct llc_sap *sap; in __llc_sap_find() local
53 list_for_each_entry(sap, &llc_sap_list, node) in __llc_sap_find()
54 if (sap->laddr.lsap == sap_value) in __llc_sap_find()
56 sap = NULL; in __llc_sap_find()
58 return sap; in __llc_sap_find()
72 struct llc_sap *sap; in llc_sap_find() local
75 sap = __llc_sap_find(sap_value); in llc_sap_find()
76 if (!sap || !llc_sap_hold_safe(sap)) in llc_sap_find()
77 sap = NULL; in llc_sap_find()
79 return sap; in llc_sap_find()
97 struct llc_sap *sap = NULL; in llc_sap_open() local
102 sap = llc_sap_alloc(); in llc_sap_open()
103 if (!sap) in llc_sap_open()
105 sap->laddr.lsap = lsap; in llc_sap_open()
106 sap->rcv_func = func; in llc_sap_open()
107 list_add_tail_rcu(&sap->node, &llc_sap_list); in llc_sap_open()
110 return sap; in llc_sap_open()
122 void llc_sap_close(struct llc_sap *sap) in llc_sap_close() argument
124 WARN_ON(sap->sk_count); in llc_sap_close()
127 list_del_rcu(&sap->node); in llc_sap_close()
130 kfree_rcu(sap, rcu); in llc_sap_close()