• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/net/irda/

Lines Matching refs:self

119 static inline void irlmp_next_lap_state(struct lap_cb *self,
125 self->lap_state = state;
128 static inline void irlmp_next_lsap_state(struct lsap_cb *self,
132 IRDA_ASSERT(self != NULL, return;);
135 self->lsap_state = state;
139 int irlmp_do_lsap_event(struct lsap_cb *self, IRLMP_EVENT event,
142 IRDA_ASSERT(self != NULL, return -1;);
143 IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
146 __func__, irlmp_event[event], irlsap_state[ self->lsap_state]);
148 return (*lsap_state[self->lsap_state]) (self, event, skb);
157 void irlmp_do_lap_event(struct lap_cb *self, IRLMP_EVENT event,
160 IRDA_ASSERT(self != NULL, return;);
161 IRDA_ASSERT(self->magic == LMP_LAP_MAGIC, return;);
165 irlmp_state[self->lap_state]);
167 (*lap_state[self->lap_state]) (self, event, skb);
185 struct lsap_cb *self = (struct lsap_cb *) data;
189 IRDA_ASSERT(self != NULL, return;);
190 IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
192 irlmp_do_lsap_event(self, LM_WATCHDOG_TIMEOUT, NULL);
197 struct lap_cb *self = (struct lap_cb *) data;
201 IRDA_ASSERT(self != NULL, return;);
202 IRDA_ASSERT(self->magic == LMP_LAP_MAGIC, return;);
204 irlmp_do_lap_event(self, LM_LAP_IDLE_TIMEOUT, NULL);
256 static void irlmp_state_standby(struct lap_cb *self, IRLMP_EVENT event,
260 IRDA_ASSERT(self->irlap != NULL, return;);
266 irlap_discovery_request(self->irlap, &irlmp->discovery_cmd);
273 irlmp_next_lap_state(self, LAP_ACTIVE);
276 irlap_connect_response(self->irlap, skb);
281 irlmp_next_lap_state(self, LAP_U_CONNECT);
283 irlap_connect_request(self->irlap, self->daddr, NULL, 0);
289 irlmp_next_lap_state(self, LAP_STANDBY);
305 static void irlmp_state_u_connect(struct lap_cb *self, IRLMP_EVENT event,
316 irlmp_next_lap_state(self, LAP_ACTIVE);
319 irlap_connect_response(self->irlap, skb);
322 irlmp_do_all_lsap_event(self->lsaps, LM_LAP_CONNECT_CONFIRM);
327 if (HASHBIN_GET_SIZE(self->lsaps) == 0) {
329 irlmp_start_idle_timer(self, LM_IDLE_TIMEOUT);
337 irlmp_next_lap_state(self, LAP_ACTIVE);
340 irlmp_do_all_lsap_event(self->lsaps, LM_LAP_CONNECT_CONFIRM);
345 if (HASHBIN_GET_SIZE(self->lsaps) == 0) {
347 irlmp_start_idle_timer(self, LM_IDLE_TIMEOUT);
352 irlmp_next_lap_state(self, LAP_STANDBY);
355 irlmp_do_all_lsap_event(self->lsaps,
363 if (HASHBIN_GET_SIZE(self->lsaps) <= 1) {
364 irlap_disconnect_request(self->irlap);
380 static void irlmp_state_active(struct lap_cb *self, IRLMP_EVENT event,
395 irlap_clear_disconnect(self->irlap);
403 irlmp_do_all_lsap_event(self->lsaps, LM_LAP_CONNECT_CONFIRM);
417 if (HASHBIN_GET_SIZE(self->lsaps) > 0) {
419 irlmp_start_idle_timer(self, sysctl_lap_keepalive_time * HZ / 1000);
433 irlap_disconnect_request(self->irlap);
437 if (HASHBIN_GET_SIZE(self->lsaps) == 0) {
439 irlap_disconnect_request(self->irlap);
443 irlmp_next_lap_state(self, LAP_STANDBY);
451 irlmp_stop_idle_timer(self);
456 irlmp_do_all_lsap_event(self->lsaps,
487 static int irlmp_state_disconnected(struct lsap_cb *self, IRLMP_EVENT event,
494 IRDA_ASSERT(self != NULL, return -1;);
495 IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
503 irlmp_connless_data_indication(self, skb);
509 if (self->conn_skb) {
516 self->conn_skb = skb;
518 irlmp_next_lsap_state(self, LSAP_SETUP_PEND);
521 irlmp_start_watchdog_timer(self, 5*HZ);
523 irlmp_do_lap_event(self->lap, LM_LAP_CONNECT_REQUEST, NULL);
526 if (self->conn_skb) {
533 self->conn_skb = skb;
535 irlmp_next_lsap_state(self, LSAP_CONNECT_PEND);
548 irlmp_start_watchdog_timer(self, 1*HZ);
550 irlmp_do_lap_event(self->lap, LM_LAP_CONNECT_REQUEST, NULL);
554 __func__, irlmp_event[event], self->slsap_sel);
561 * Function irlmp_state_connect (self, event, skb)
566 static int irlmp_state_connect(struct lsap_cb *self, IRLMP_EVENT event,
574 IRDA_ASSERT(self != NULL, return -1;);
575 IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
583 lsap = hashbin_remove(irlmp->unconnected_lsaps, (long) self,
586 IRDA_ASSERT(lsap == self, return -1;);
587 IRDA_ASSERT(self->lap != NULL, return -1;);
588 IRDA_ASSERT(self->lap->lsaps != NULL, return -1;);
590 hashbin_insert(self->lap->lsaps, (irda_queue_t *) self,
591 (long) self, NULL);
593 set_bit(0, &self->connected); /* TRUE */
595 irlmp_send_lcf_pdu(self->lap, self->dlsap_sel,
596 self->slsap_sel, CONNECT_CNF, skb);
598 del_timer(&self->watchdog_timer);
600 irlmp_next_lsap_state(self, LSAP_DATA_TRANSFER_READY);
608 self->lap = NULL;
609 self->dlsap_sel = LSAP_ANY;
610 irlmp_next_lsap_state(self, LSAP_DISCONNECTED);
616 __func__, irlmp_event[event], self->slsap_sel);
628 static int irlmp_state_connect_pend(struct lsap_cb *self, IRLMP_EVENT event,
636 IRDA_ASSERT(self != NULL, return -1;);
637 IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
655 irlmp_next_lsap_state(self, LSAP_CONNECT);
657 tx_skb = self->conn_skb;
658 self->conn_skb = NULL;
660 irlmp_connect_indication(self, tx_skb);
671 self->lap = NULL;
672 self->dlsap_sel = LSAP_ANY;
673 if(self->conn_skb)
674 dev_kfree_skb(self->conn_skb);
675 self->conn_skb = NULL;
676 irlmp_next_lsap_state(self, LSAP_DISCONNECTED);
682 __func__, irlmp_event[event], self->slsap_sel);
689 * Function irlmp_state_dtr (self, event, skb)
694 static int irlmp_state_dtr(struct lsap_cb *self, IRLMP_EVENT event,
702 IRDA_ASSERT(self != NULL, return -1;);
703 IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
704 IRDA_ASSERT(self->lap != NULL, return -1;);
708 irlmp_send_data_pdu(self->lap, self->dlsap_sel,
709 self->slsap_sel, FALSE, skb);
712 irlmp_data_indication(self, skb);
716 irlmp_send_data_pdu(self->lap, self->dlsap_sel,
717 self->slsap_sel, TRUE, skb);
720 irlmp_udata_indication(self, skb);
733 irlmp_send_lcf_pdu(self->lap, self->dlsap_sel, self->slsap_sel,
735 irlmp_next_lsap_state(self, LSAP_DISCONNECTED);
740 if (self->lap) {
743 irlmp_do_lap_event(self->lap,
749 irlmp_next_lsap_state(self, LSAP_DISCONNECTED);
751 reason = irlmp_convert_lap_reason(self->lap->reason);
753 irlmp_disconnect_indication(self, reason, NULL);
756 irlmp_next_lsap_state(self, LSAP_DISCONNECTED);
758 IRDA_ASSERT(self->lap != NULL, return -1;);
759 IRDA_ASSERT(self->lap->magic == LMP_LAP_MAGIC, return -1;);
767 irlmp_do_lap_event(self->lap, LM_LAP_DISCONNECT_REQUEST, NULL);
769 irlmp_disconnect_indication(self, reason, skb);
773 __func__, irlmp_event[event], self->slsap_sel);
786 static int irlmp_state_setup(struct lsap_cb *self, IRLMP_EVENT event,
792 IRDA_ASSERT(self != NULL, return -1;);
793 IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
799 irlmp_next_lsap_state(self, LSAP_DATA_TRANSFER_READY);
801 del_timer(&self->watchdog_timer);
803 irlmp_connect_confirm(self, skb);
806 irlmp_next_lsap_state(self, LSAP_DISCONNECTED);
808 IRDA_ASSERT(self->lap != NULL, return -1;);
809 IRDA_ASSERT(self->lap->magic == LMP_LAP_MAGIC, return -1;);
817 irlmp_do_lap_event(self->lap, LM_LAP_DISCONNECT_REQUEST, NULL);
819 irlmp_disconnect_indication(self, reason, skb);
822 irlmp_next_lsap_state(self, LSAP_DISCONNECTED);
824 del_timer(&self->watchdog_timer);
826 IRDA_ASSERT(self->lap != NULL, return -1;);
827 IRDA_ASSERT(self->lap->magic == LMP_LAP_MAGIC, return -1;);
829 reason = irlmp_convert_lap_reason(self->lap->reason);
831 irlmp_disconnect_indication(self, reason, skb);
836 IRDA_ASSERT(self->lap != NULL, return -1;);
837 irlmp_do_lap_event(self->lap, LM_LAP_DISCONNECT_REQUEST, NULL);
838 irlmp_next_lsap_state(self, LSAP_DISCONNECTED);
840 irlmp_disconnect_indication(self, LM_CONNECT_FAILURE, NULL);
844 __func__, irlmp_event[event], self->slsap_sel);
858 static int irlmp_state_setup_pend(struct lsap_cb *self, IRLMP_EVENT event,
867 IRDA_ASSERT(self != NULL, return -1;);
872 IRDA_ASSERT(self->conn_skb != NULL, return -1;);
874 tx_skb = self->conn_skb;
875 self->conn_skb = NULL;
877 irlmp_send_lcf_pdu(self->lap, self->dlsap_sel,
878 self->slsap_sel, CONNECT_CMD, tx_skb);
882 irlmp_next_lsap_state(self, LSAP_SETUP);
887 IRDA_ASSERT(self->lap != NULL, return -1;);
888 irlmp_do_lap_event(self->lap, LM_LAP_DISCONNECT_REQUEST, NULL);
889 irlmp_next_lsap_state(self, LSAP_DISCONNECTED);
891 irlmp_disconnect_indication(self, LM_CONNECT_FAILURE, NULL);
894 del_timer( &self->watchdog_timer);
896 irlmp_next_lsap_state(self, LSAP_DISCONNECTED);
898 reason = irlmp_convert_lap_reason(self->lap->reason);
900 irlmp_disconnect_indication(self, reason, NULL);
904 __func__, irlmp_event[event], self->slsap_sel);