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);
174 struct irlan_cb *self, *next; in irlan_cleanup() local
187 list_for_each_entry_safe(self, next, &irlans, dev_list) { in irlan_cleanup()
188 __irlan_close(self); in irlan_cleanup()
202 struct irlan_cb *self; in irlan_open() local
211 self = netdev_priv(dev); in irlan_open()
212 self->dev = dev; in irlan_open()
217 self->magic = IRLAN_MAGIC; in irlan_open()
218 self->saddr = saddr; in irlan_open()
219 self->daddr = daddr; in irlan_open()
222 self->provider.access_type = access; in irlan_open()
236 self->media = MEDIA_802_3; in irlan_open()
237 self->disconnect_reason = LM_USER_REQUEST; in irlan_open()
238 init_timer(&self->watchdog_timer); in irlan_open()
239 init_timer(&self->client.kick_timer); in irlan_open()
240 init_waitqueue_head(&self->open_wait); in irlan_open()
242 skb_queue_head_init(&self->client.txq); in irlan_open()
244 irlan_next_client_state(self, IRLAN_IDLE); in irlan_open()
245 irlan_next_provider_state(self, IRLAN_IDLE); in irlan_open()
250 self = NULL; in irlan_open()
254 list_add_rcu(&self->dev_list, &irlans); in irlan_open()
258 return self; in irlan_open()
267 static void __irlan_close(struct irlan_cb *self) in __irlan_close() argument
272 IRDA_ASSERT(self != NULL, return;); in __irlan_close()
273 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in __irlan_close()
275 del_timer_sync(&self->watchdog_timer); in __irlan_close()
276 del_timer_sync(&self->client.kick_timer); in __irlan_close()
279 irlan_close_tsaps(self); in __irlan_close()
281 if (self->client.iriap) in __irlan_close()
282 iriap_close(self->client.iriap); in __irlan_close()
285 skb_queue_purge(&self->client.txq); in __irlan_close()
288 unregister_netdevice(self->dev); in __irlan_close()
294 struct irlan_cb *self; in irlan_get_any() local
296 list_for_each_entry_rcu(self, &irlans, dev_list) { in irlan_get_any()
297 return self; in irlan_get_any()
314 struct irlan_cb *self; in irlan_connect_indication() local
319 self = instance; in irlan_connect_indication()
322 IRDA_ASSERT(self != NULL, return;); in irlan_connect_indication()
323 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_connect_indication()
324 IRDA_ASSERT(tsap == self->tsap_data,return;); in irlan_connect_indication()
326 self->max_sdu_size = max_sdu_size; in irlan_connect_indication()
327 self->max_header_size = max_header_size; in irlan_connect_indication()
331 del_timer(&self->watchdog_timer); in irlan_connect_indication()
340 irlan_do_provider_event(self, IRLAN_DATA_CONNECT_INDICATION, NULL); in irlan_connect_indication()
341 irlan_do_client_event(self, IRLAN_DATA_CONNECT_INDICATION, NULL); in irlan_connect_indication()
343 if (self->provider.access_type == ACCESS_PEER) { in irlan_connect_indication()
348 irlan_get_unicast_addr(self); in irlan_connect_indication()
349 irlan_open_unicast_addr(self); in irlan_connect_indication()
352 netif_start_queue(self->dev); /* Clear reason */ in irlan_connect_indication()
361 struct irlan_cb *self; in irlan_connect_confirm() local
363 self = instance; in irlan_connect_confirm()
365 IRDA_ASSERT(self != NULL, return;); in irlan_connect_confirm()
366 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_connect_confirm()
368 self->max_sdu_size = max_sdu_size; in irlan_connect_confirm()
369 self->max_header_size = max_header_size; in irlan_connect_confirm()
374 del_timer(&self->watchdog_timer); in irlan_connect_confirm()
380 irlan_get_unicast_addr(self); in irlan_connect_confirm()
381 irlan_open_unicast_addr(self); in irlan_connect_confirm()
384 irlan_set_broadcast_filter(self, TRUE); in irlan_connect_confirm()
385 irlan_set_multicast_filter(self, TRUE); in irlan_connect_confirm()
388 netif_start_queue(self->dev); in irlan_connect_confirm()
389 self->disconnect_reason = 0; /* Clear reason */ in irlan_connect_confirm()
390 wake_up_interruptible(&self->open_wait); in irlan_connect_confirm()
403 struct irlan_cb *self; in irlan_disconnect_indication() local
408 self = instance; in irlan_disconnect_indication()
411 IRDA_ASSERT(self != NULL, return;); in irlan_disconnect_indication()
412 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_disconnect_indication()
416 IRDA_ASSERT(tsap == self->tsap_data, return;); in irlan_disconnect_indication()
421 self->disconnect_reason = reason; in irlan_disconnect_indication()
451 irlan_do_client_event(self, IRLAN_LMP_DISCONNECT, NULL); in irlan_disconnect_indication()
452 irlan_do_provider_event(self, IRLAN_LMP_DISCONNECT, NULL); in irlan_disconnect_indication()
454 wake_up_interruptible(&self->open_wait); in irlan_disconnect_indication()
457 void irlan_open_data_tsap(struct irlan_cb *self) in irlan_open_data_tsap() argument
464 IRDA_ASSERT(self != NULL, return;); in irlan_open_data_tsap()
465 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_open_data_tsap()
468 if (self->tsap_data) in irlan_open_data_tsap()
479 notify.instance = self; in irlan_open_data_tsap()
487 self->tsap_data = tsap; in irlan_open_data_tsap()
493 self->stsap_sel_data = self->tsap_data->stsap_sel; in irlan_open_data_tsap()
496 void irlan_close_tsaps(struct irlan_cb *self) in irlan_close_tsaps() argument
500 IRDA_ASSERT(self != NULL, return;); in irlan_close_tsaps()
501 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_close_tsaps()
504 if (self->tsap_data) { in irlan_close_tsaps()
505 irttp_disconnect_request(self->tsap_data, NULL, P_NORMAL); in irlan_close_tsaps()
506 irttp_close_tsap(self->tsap_data); in irlan_close_tsaps()
507 self->tsap_data = NULL; in irlan_close_tsaps()
509 if (self->client.tsap_ctrl) { in irlan_close_tsaps()
510 irttp_disconnect_request(self->client.tsap_ctrl, NULL, in irlan_close_tsaps()
512 irttp_close_tsap(self->client.tsap_ctrl); in irlan_close_tsaps()
513 self->client.tsap_ctrl = NULL; in irlan_close_tsaps()
515 if (self->provider.tsap_ctrl) { in irlan_close_tsaps()
516 irttp_disconnect_request(self->provider.tsap_ctrl, NULL, in irlan_close_tsaps()
518 irttp_close_tsap(self->provider.tsap_ctrl); in irlan_close_tsaps()
519 self->provider.tsap_ctrl = NULL; in irlan_close_tsaps()
521 self->disconnect_reason = LM_USER_REQUEST; in irlan_close_tsaps()
530 void irlan_ias_register(struct irlan_cb *self, __u8 tsap_sel) in irlan_ias_register() argument
535 IRDA_ASSERT(self != NULL, return;); in irlan_ias_register()
536 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_ias_register()
565 if (self->provider.access_type == ACCESS_PEER) in irlan_ias_register()
584 int irlan_run_ctrl_tx_queue(struct irlan_cb *self) in irlan_run_ctrl_tx_queue() argument
590 if (irda_lock(&self->client.tx_busy) == FALSE) in irlan_run_ctrl_tx_queue()
593 skb = skb_dequeue(&self->client.txq); in irlan_run_ctrl_tx_queue()
595 self->client.tx_busy = FALSE; in irlan_run_ctrl_tx_queue()
600 if ((self->client.tsap_ctrl == NULL) || in irlan_run_ctrl_tx_queue()
601 (self->client.state == IRLAN_IDLE)) in irlan_run_ctrl_tx_queue()
603 self->client.tx_busy = FALSE; in irlan_run_ctrl_tx_queue()
609 return irttp_data_request(self->client.tsap_ctrl, skb); in irlan_run_ctrl_tx_queue()
618 static void irlan_ctrl_data_request(struct irlan_cb *self, struct sk_buff *skb) in irlan_ctrl_data_request() argument
623 skb_queue_tail(&self->client.txq, skb); in irlan_ctrl_data_request()
626 irlan_run_ctrl_tx_queue(self); in irlan_ctrl_data_request()
635 void irlan_get_provider_info(struct irlan_cb *self) in irlan_get_provider_info() argument
642 IRDA_ASSERT(self != NULL, return;); in irlan_get_provider_info()
643 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_get_provider_info()
651 skb_reserve(skb, self->client.max_header_size); in irlan_get_provider_info()
659 irlan_ctrl_data_request(self, skb); in irlan_get_provider_info()
668 void irlan_open_data_channel(struct irlan_cb *self) in irlan_open_data_channel() argument
675 IRDA_ASSERT(self != NULL, return;); in irlan_open_data_channel()
676 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_open_data_channel()
685 skb_reserve(skb, self->client.max_header_size); in irlan_open_data_channel()
700 irlan_ctrl_data_request(self, skb); in irlan_open_data_channel()
703 void irlan_close_data_channel(struct irlan_cb *self) in irlan_close_data_channel() argument
710 IRDA_ASSERT(self != NULL, return;); in irlan_close_data_channel()
711 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_close_data_channel()
714 if (self->client.tsap_ctrl == NULL) in irlan_close_data_channel()
723 skb_reserve(skb, self->client.max_header_size); in irlan_close_data_channel()
732 irlan_insert_byte_param(skb, "DATA_CHAN", self->dtsap_sel_data); in irlan_close_data_channel()
734 irlan_ctrl_data_request(self, skb); in irlan_close_data_channel()
744 static void irlan_open_unicast_addr(struct irlan_cb *self) in irlan_open_unicast_addr() argument
751 IRDA_ASSERT(self != NULL, return;); in irlan_open_unicast_addr()
752 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_open_unicast_addr()
763 skb_reserve(skb, self->max_header_size); in irlan_open_unicast_addr()
770 irlan_insert_byte_param(skb, "DATA_CHAN" , self->dtsap_sel_data); in irlan_open_unicast_addr()
774 irlan_ctrl_data_request(self, skb); in irlan_open_unicast_addr()
786 void irlan_set_broadcast_filter(struct irlan_cb *self, int status) in irlan_set_broadcast_filter() argument
793 IRDA_ASSERT(self != NULL, return;); in irlan_set_broadcast_filter()
794 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_set_broadcast_filter()
806 skb_reserve(skb, self->client.max_header_size); in irlan_set_broadcast_filter()
813 irlan_insert_byte_param(skb, "DATA_CHAN", self->dtsap_sel_data); in irlan_set_broadcast_filter()
820 irlan_ctrl_data_request(self, skb); in irlan_set_broadcast_filter()
830 void irlan_set_multicast_filter(struct irlan_cb *self, int status) in irlan_set_multicast_filter() argument
837 IRDA_ASSERT(self != NULL, return;); in irlan_set_multicast_filter()
838 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_set_multicast_filter()
850 skb_reserve(skb, self->client.max_header_size); in irlan_set_multicast_filter()
857 irlan_insert_byte_param(skb, "DATA_CHAN", self->dtsap_sel_data); in irlan_set_multicast_filter()
864 irlan_ctrl_data_request(self, skb); in irlan_set_multicast_filter()
875 static void irlan_get_unicast_addr(struct irlan_cb *self) in irlan_get_unicast_addr() argument
882 IRDA_ASSERT(self != NULL, return;); in irlan_get_unicast_addr()
883 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_get_unicast_addr()
895 skb_reserve(skb, self->client.max_header_size); in irlan_get_unicast_addr()
902 irlan_insert_byte_param(skb, "DATA_CHAN", self->dtsap_sel_data); in irlan_get_unicast_addr()
906 irlan_ctrl_data_request(self, skb); in irlan_get_unicast_addr()
915 void irlan_get_media_char(struct irlan_cb *self) in irlan_get_media_char() argument
922 IRDA_ASSERT(self != NULL, return;); in irlan_get_media_char()
923 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); in irlan_get_media_char()
933 skb_reserve(skb, self->client.max_header_size); in irlan_get_media_char()
943 irlan_ctrl_data_request(self, skb); in irlan_get_media_char()
1156 struct irlan_cb *self = list_entry(v, struct irlan_cb, dev_list); in irlan_seq_show() local
1158 IRDA_ASSERT(self != NULL, return -1;); in irlan_seq_show()
1159 IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;); in irlan_seq_show()
1162 self->dev->name); in irlan_seq_show()
1164 irlan_state[ self->client.state]); in irlan_seq_show()
1166 irlan_state[ self->provider.state]); in irlan_seq_show()
1168 self->saddr); in irlan_seq_show()
1170 self->daddr); in irlan_seq_show()
1172 self->version[1], self->version[0]); in irlan_seq_show()
1174 irlan_access[self->client.access_type]); in irlan_seq_show()
1176 irlan_media[self->media]); in irlan_seq_show()
1180 irlan_print_filter(seq, self->client.filter_type); in irlan_seq_show()
1182 netif_queue_stopped(self->dev) ? "TRUE" : "FALSE"); in irlan_seq_show()