Lines Matching refs:self
102 static void __irlan_close(struct irlan_cb *self);
106 static void irlan_open_unicast_addr(struct irlan_cb *self);
107 static void irlan_get_unicast_addr(struct irlan_cb *self);
108 void irlan_close_tsaps(struct irlan_cb *self);
171 struct irlan_cb *self, *next; in irlan_cleanup() local
182 list_for_each_entry_safe(self, next, &irlans, dev_list) { in irlan_cleanup()
183 __irlan_close(self); in irlan_cleanup()
197 struct irlan_cb *self; in irlan_open() local
204 self = netdev_priv(dev); in irlan_open()
205 self->dev = dev; in irlan_open()
210 self->magic = IRLAN_MAGIC; in irlan_open()
211 self->saddr = saddr; in irlan_open()
212 self->daddr = daddr; in irlan_open()
215 self->provider.access_type = access; in irlan_open()
229 self->media = MEDIA_802_3; in irlan_open()
230 self->disconnect_reason = LM_USER_REQUEST; in irlan_open()
231 init_timer(&self->watchdog_timer); in irlan_open()
232 init_timer(&self->client.kick_timer); in irlan_open()
233 init_waitqueue_head(&self->open_wait); in irlan_open()
235 skb_queue_head_init(&self->client.txq); in irlan_open()
237 irlan_next_client_state(self, IRLAN_IDLE); in irlan_open()
238 irlan_next_provider_state(self, IRLAN_IDLE); in irlan_open()
243 self = NULL; in irlan_open()
247 list_add_rcu(&self->dev_list, &irlans); in irlan_open()
251 return self; in irlan_open()
260 static void __irlan_close(struct irlan_cb *self) in __irlan_close() argument
263 IRDA_ASSERT(self != NULL, return;); in __irlan_close()
264 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in __irlan_close()
266 del_timer_sync(&self->watchdog_timer); in __irlan_close()
267 del_timer_sync(&self->client.kick_timer); in __irlan_close()
270 irlan_close_tsaps(self); in __irlan_close()
272 if (self->client.iriap) in __irlan_close()
273 iriap_close(self->client.iriap); in __irlan_close()
276 skb_queue_purge(&self->client.txq); in __irlan_close()
279 unregister_netdevice(self->dev); in __irlan_close()
285 struct irlan_cb *self; in irlan_get_any() local
287 list_for_each_entry_rcu(self, &irlans, dev_list) { in irlan_get_any()
288 return self; in irlan_get_any()
305 struct irlan_cb *self; in irlan_connect_indication() local
308 self = instance; in irlan_connect_indication()
311 IRDA_ASSERT(self != NULL, return;); in irlan_connect_indication()
312 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_connect_indication()
313 IRDA_ASSERT(tsap == self->tsap_data,return;); in irlan_connect_indication()
315 self->max_sdu_size = max_sdu_size; in irlan_connect_indication()
316 self->max_header_size = max_header_size; in irlan_connect_indication()
320 del_timer(&self->watchdog_timer); in irlan_connect_indication()
329 irlan_do_provider_event(self, IRLAN_DATA_CONNECT_INDICATION, NULL); in irlan_connect_indication()
330 irlan_do_client_event(self, IRLAN_DATA_CONNECT_INDICATION, NULL); in irlan_connect_indication()
332 if (self->provider.access_type == ACCESS_PEER) { in irlan_connect_indication()
337 irlan_get_unicast_addr(self); in irlan_connect_indication()
338 irlan_open_unicast_addr(self); in irlan_connect_indication()
341 netif_start_queue(self->dev); /* Clear reason */ in irlan_connect_indication()
350 struct irlan_cb *self; in irlan_connect_confirm() local
352 self = instance; in irlan_connect_confirm()
354 IRDA_ASSERT(self != NULL, return;); in irlan_connect_confirm()
355 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_connect_confirm()
357 self->max_sdu_size = max_sdu_size; in irlan_connect_confirm()
358 self->max_header_size = max_header_size; in irlan_connect_confirm()
363 del_timer(&self->watchdog_timer); in irlan_connect_confirm()
369 irlan_get_unicast_addr(self); in irlan_connect_confirm()
370 irlan_open_unicast_addr(self); in irlan_connect_confirm()
373 irlan_set_broadcast_filter(self, TRUE); in irlan_connect_confirm()
374 irlan_set_multicast_filter(self, TRUE); in irlan_connect_confirm()
377 netif_start_queue(self->dev); in irlan_connect_confirm()
378 self->disconnect_reason = 0; /* Clear reason */ in irlan_connect_confirm()
379 wake_up_interruptible(&self->open_wait); in irlan_connect_confirm()
392 struct irlan_cb *self; in irlan_disconnect_indication() local
397 self = instance; in irlan_disconnect_indication()
400 IRDA_ASSERT(self != NULL, return;); in irlan_disconnect_indication()
401 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_disconnect_indication()
405 IRDA_ASSERT(tsap == self->tsap_data, return;); in irlan_disconnect_indication()
410 self->disconnect_reason = reason; in irlan_disconnect_indication()
441 irlan_do_client_event(self, IRLAN_LMP_DISCONNECT, NULL); in irlan_disconnect_indication()
442 irlan_do_provider_event(self, IRLAN_LMP_DISCONNECT, NULL); in irlan_disconnect_indication()
444 wake_up_interruptible(&self->open_wait); in irlan_disconnect_indication()
447 void irlan_open_data_tsap(struct irlan_cb *self) in irlan_open_data_tsap() argument
452 IRDA_ASSERT(self != NULL, return;); in irlan_open_data_tsap()
453 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_open_data_tsap()
456 if (self->tsap_data) in irlan_open_data_tsap()
467 notify.instance = self; in irlan_open_data_tsap()
475 self->tsap_data = tsap; in irlan_open_data_tsap()
481 self->stsap_sel_data = self->tsap_data->stsap_sel; in irlan_open_data_tsap()
484 void irlan_close_tsaps(struct irlan_cb *self) in irlan_close_tsaps() argument
486 IRDA_ASSERT(self != NULL, return;); in irlan_close_tsaps()
487 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_close_tsaps()
490 if (self->tsap_data) { in irlan_close_tsaps()
491 irttp_disconnect_request(self->tsap_data, NULL, P_NORMAL); in irlan_close_tsaps()
492 irttp_close_tsap(self->tsap_data); in irlan_close_tsaps()
493 self->tsap_data = NULL; in irlan_close_tsaps()
495 if (self->client.tsap_ctrl) { in irlan_close_tsaps()
496 irttp_disconnect_request(self->client.tsap_ctrl, NULL, in irlan_close_tsaps()
498 irttp_close_tsap(self->client.tsap_ctrl); in irlan_close_tsaps()
499 self->client.tsap_ctrl = NULL; in irlan_close_tsaps()
501 if (self->provider.tsap_ctrl) { in irlan_close_tsaps()
502 irttp_disconnect_request(self->provider.tsap_ctrl, NULL, in irlan_close_tsaps()
504 irttp_close_tsap(self->provider.tsap_ctrl); in irlan_close_tsaps()
505 self->provider.tsap_ctrl = NULL; in irlan_close_tsaps()
507 self->disconnect_reason = LM_USER_REQUEST; in irlan_close_tsaps()
516 void irlan_ias_register(struct irlan_cb *self, __u8 tsap_sel) in irlan_ias_register() argument
521 IRDA_ASSERT(self != NULL, return;); in irlan_ias_register()
522 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_ias_register()
551 if (self->provider.access_type == ACCESS_PEER) in irlan_ias_register()
570 int irlan_run_ctrl_tx_queue(struct irlan_cb *self) in irlan_run_ctrl_tx_queue() argument
574 if (irda_lock(&self->client.tx_busy) == FALSE) in irlan_run_ctrl_tx_queue()
577 skb = skb_dequeue(&self->client.txq); in irlan_run_ctrl_tx_queue()
579 self->client.tx_busy = FALSE; in irlan_run_ctrl_tx_queue()
584 if ((self->client.tsap_ctrl == NULL) || in irlan_run_ctrl_tx_queue()
585 (self->client.state == IRLAN_IDLE)) in irlan_run_ctrl_tx_queue()
587 self->client.tx_busy = FALSE; in irlan_run_ctrl_tx_queue()
593 return irttp_data_request(self->client.tsap_ctrl, skb); in irlan_run_ctrl_tx_queue()
602 static void irlan_ctrl_data_request(struct irlan_cb *self, struct sk_buff *skb) in irlan_ctrl_data_request() argument
605 skb_queue_tail(&self->client.txq, skb); in irlan_ctrl_data_request()
608 irlan_run_ctrl_tx_queue(self); in irlan_ctrl_data_request()
617 void irlan_get_provider_info(struct irlan_cb *self) in irlan_get_provider_info() argument
622 IRDA_ASSERT(self != NULL, return;); in irlan_get_provider_info()
623 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_get_provider_info()
631 skb_reserve(skb, self->client.max_header_size); in irlan_get_provider_info()
639 irlan_ctrl_data_request(self, skb); in irlan_get_provider_info()
648 void irlan_open_data_channel(struct irlan_cb *self) in irlan_open_data_channel() argument
653 IRDA_ASSERT(self != NULL, return;); in irlan_open_data_channel()
654 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_open_data_channel()
663 skb_reserve(skb, self->client.max_header_size); in irlan_open_data_channel()
678 irlan_ctrl_data_request(self, skb); in irlan_open_data_channel()
681 void irlan_close_data_channel(struct irlan_cb *self) in irlan_close_data_channel() argument
686 IRDA_ASSERT(self != NULL, return;); in irlan_close_data_channel()
687 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_close_data_channel()
690 if (self->client.tsap_ctrl == NULL) in irlan_close_data_channel()
699 skb_reserve(skb, self->client.max_header_size); in irlan_close_data_channel()
708 irlan_insert_byte_param(skb, "DATA_CHAN", self->dtsap_sel_data); in irlan_close_data_channel()
710 irlan_ctrl_data_request(self, skb); in irlan_close_data_channel()
720 static void irlan_open_unicast_addr(struct irlan_cb *self) in irlan_open_unicast_addr() argument
725 IRDA_ASSERT(self != NULL, return;); in irlan_open_unicast_addr()
726 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_open_unicast_addr()
737 skb_reserve(skb, self->max_header_size); in irlan_open_unicast_addr()
744 irlan_insert_byte_param(skb, "DATA_CHAN" , self->dtsap_sel_data); in irlan_open_unicast_addr()
748 irlan_ctrl_data_request(self, skb); in irlan_open_unicast_addr()
760 void irlan_set_broadcast_filter(struct irlan_cb *self, int status) in irlan_set_broadcast_filter() argument
765 IRDA_ASSERT(self != NULL, return;); in irlan_set_broadcast_filter()
766 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_set_broadcast_filter()
778 skb_reserve(skb, self->client.max_header_size); in irlan_set_broadcast_filter()
785 irlan_insert_byte_param(skb, "DATA_CHAN", self->dtsap_sel_data); in irlan_set_broadcast_filter()
792 irlan_ctrl_data_request(self, skb); in irlan_set_broadcast_filter()
802 void irlan_set_multicast_filter(struct irlan_cb *self, int status) in irlan_set_multicast_filter() argument
807 IRDA_ASSERT(self != NULL, return;); in irlan_set_multicast_filter()
808 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_set_multicast_filter()
820 skb_reserve(skb, self->client.max_header_size); in irlan_set_multicast_filter()
827 irlan_insert_byte_param(skb, "DATA_CHAN", self->dtsap_sel_data); in irlan_set_multicast_filter()
834 irlan_ctrl_data_request(self, skb); in irlan_set_multicast_filter()
845 static void irlan_get_unicast_addr(struct irlan_cb *self) in irlan_get_unicast_addr() argument
850 IRDA_ASSERT(self != NULL, return;); in irlan_get_unicast_addr()
851 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_get_unicast_addr()
863 skb_reserve(skb, self->client.max_header_size); in irlan_get_unicast_addr()
870 irlan_insert_byte_param(skb, "DATA_CHAN", self->dtsap_sel_data); in irlan_get_unicast_addr()
874 irlan_ctrl_data_request(self, skb); in irlan_get_unicast_addr()
883 void irlan_get_media_char(struct irlan_cb *self) in irlan_get_media_char() argument
888 IRDA_ASSERT(self != NULL, return;); in irlan_get_media_char()
889 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_get_media_char()
899 skb_reserve(skb, self->client.max_header_size); in irlan_get_media_char()
909 irlan_ctrl_data_request(self, skb); in irlan_get_media_char()
1119 struct irlan_cb *self = list_entry(v, struct irlan_cb, dev_list); in irlan_seq_show() local
1121 IRDA_ASSERT(self != NULL, return -1;); in irlan_seq_show()
1122 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;); in irlan_seq_show()
1125 self->dev->name); in irlan_seq_show()
1127 irlan_state[ self->client.state]); in irlan_seq_show()
1129 irlan_state[ self->provider.state]); in irlan_seq_show()
1131 self->saddr); in irlan_seq_show()
1133 self->daddr); in irlan_seq_show()
1135 self->version[1], self->version[0]); in irlan_seq_show()
1137 irlan_access[self->client.access_type]); in irlan_seq_show()
1139 irlan_media[self->media]); in irlan_seq_show()
1143 irlan_print_filter(seq, self->client.filter_type); in irlan_seq_show()
1145 netif_queue_stopped(self->dev) ? "TRUE" : "FALSE"); in irlan_seq_show()