Lines Matching refs:lsap
91 struct lsap_cb *lsap; in irlmp_link_data_indication() local
118 lsap = irlmp_find_lsap(self, dlsap_sel, slsap_sel, CONNECT_CMD, in irlmp_link_data_indication()
122 if (!lsap) { in irlmp_link_data_indication()
125 lsap = irlmp_find_lsap(self, dlsap_sel, slsap_sel, 0, in irlmp_link_data_indication()
129 lsap = irlmp_find_lsap(self, dlsap_sel, slsap_sel, 0, in irlmp_link_data_indication()
132 if (lsap == NULL) { in irlmp_link_data_indication()
151 lsap->lap = self; in irlmp_link_data_indication()
152 irlmp_do_lsap_event(lsap, LM_CONNECT_INDICATION, skb); in irlmp_link_data_indication()
155 irlmp_do_lsap_event(lsap, LM_CONNECT_CONFIRM, skb); in irlmp_link_data_indication()
160 irlmp_do_lsap_event(lsap, LM_DISCONNECT_INDICATION, in irlmp_link_data_indication()
176 if (lsap->lsap_state == LSAP_DATA_TRANSFER_READY) in irlmp_link_data_indication()
177 irlmp_udata_indication(lsap, skb); in irlmp_link_data_indication()
179 irlmp_do_lsap_event(lsap, LM_UDATA_INDICATION, skb); in irlmp_link_data_indication()
182 if (lsap->lsap_state == LSAP_DATA_TRANSFER_READY) in irlmp_link_data_indication()
183 irlmp_data_indication(lsap, skb); in irlmp_link_data_indication()
185 irlmp_do_lsap_event(lsap, LM_DATA_INDICATION, skb); in irlmp_link_data_indication()
198 struct lsap_cb *lsap; in irlmp_link_unitdata_indication() local
233 lsap = (struct lsap_cb *) hashbin_get_first(irlmp->unconnected_lsaps); in irlmp_link_unitdata_indication()
234 while (lsap != NULL) { in irlmp_link_unitdata_indication()
238 if ((lsap->slsap_sel == slsap_sel) && in irlmp_link_unitdata_indication()
239 (lsap->dlsap_sel == dlsap_sel) && in irlmp_link_unitdata_indication()
240 (lsap->pid == pid)) in irlmp_link_unitdata_indication()
244 lsap = (struct lsap_cb *) hashbin_get_next(irlmp->unconnected_lsaps); in irlmp_link_unitdata_indication()
248 if (lsap) in irlmp_link_unitdata_indication()
249 irlmp_connless_data_indication(lsap, skb); in irlmp_link_unitdata_indication()
391 struct lsap_cb *lsap) in irlmp_update_cache() argument
396 lap->cache.dlsap_sel = lsap->dlsap_sel; in irlmp_update_cache()
397 lap->cache.slsap_sel = lsap->slsap_sel; in irlmp_update_cache()
398 lap->cache.lsap = lsap; in irlmp_update_cache()
424 struct lsap_cb *lsap; in irlmp_find_lsap() local
437 return self->cache.lsap; in irlmp_find_lsap()
443 lsap = (struct lsap_cb *) hashbin_get_first(queue); in irlmp_find_lsap()
444 while (lsap != NULL) { in irlmp_find_lsap()
452 (lsap->slsap_sel == slsap_sel) && in irlmp_find_lsap()
453 (lsap->dlsap_sel == LSAP_ANY)) { in irlmp_find_lsap()
456 lsap->dlsap_sel = dlsap_sel; in irlmp_find_lsap()
462 if ((lsap->slsap_sel == slsap_sel) && in irlmp_find_lsap()
463 (lsap->dlsap_sel == dlsap_sel)) in irlmp_find_lsap()
466 lsap = (struct lsap_cb *) hashbin_get_next(queue); in irlmp_find_lsap()
469 if(lsap) in irlmp_find_lsap()
470 irlmp_update_cache(self, lsap); in irlmp_find_lsap()
475 return lsap; in irlmp_find_lsap()