X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Firda%2Firlan%2Firlan_client.c;h=95cf1234ea17ff2e88a088c3da5766361bbaa7e4;hb=refs%2Fheads%2Fvserver;hp=b849ecd541f5f59df51055b1eed3d522cae7ca1f;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/net/irda/irlan/irlan_client.c b/net/irda/irlan/irlan_client.c index b849ecd54..95cf1234e 100644 --- a/net/irda/irlan/irlan_client.c +++ b/net/irda/irlan/irlan_client.c @@ -33,10 +33,10 @@ #include #include #include +#include #include #include -#include #include #include @@ -66,6 +66,7 @@ static void irlan_client_ctrl_connect_confirm(void *instance, void *sap, struct sk_buff *); static void irlan_check_response_param(struct irlan_cb *self, char *param, char *value, int val_len); +static void irlan_client_open_ctrl_tsap(struct irlan_cb *self); static void irlan_client_kick_timer_expired(void *data) { @@ -73,8 +74,8 @@ static void irlan_client_kick_timer_expired(void *data) IRDA_DEBUG(2, "%s()\n", __FUNCTION__ ); - ASSERT(self != NULL, return;); - ASSERT(self->magic == IRLAN_MAGIC, return;); + IRDA_ASSERT(self != NULL, return;); + IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); /* * If we are in peer mode, the client may not have got the discovery @@ -88,7 +89,7 @@ static void irlan_client_kick_timer_expired(void *data) } } -void irlan_client_start_kick_timer(struct irlan_cb *self, int timeout) +static void irlan_client_start_kick_timer(struct irlan_cb *self, int timeout) { IRDA_DEBUG(4, "%s()\n", __FUNCTION__ ); @@ -106,8 +107,8 @@ void irlan_client_wakeup(struct irlan_cb *self, __u32 saddr, __u32 daddr) { IRDA_DEBUG(1, "%s()\n", __FUNCTION__ ); - ASSERT(self != NULL, return;); - ASSERT(self->magic == IRLAN_MAGIC, return;); + IRDA_ASSERT(self != NULL, return;); + IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); /* * Check if we are already awake, or if we are a provider in direct @@ -154,7 +155,7 @@ void irlan_client_discovery_indication(discinfo_t *discovery, IRDA_DEBUG(1, "%s()\n", __FUNCTION__ ); - ASSERT(discovery != NULL, return;); + IRDA_ASSERT(discovery != NULL, return;); /* * I didn't check it, but I bet that IrLAN suffer from the same @@ -172,13 +173,14 @@ void irlan_client_discovery_indication(discinfo_t *discovery, rcu_read_lock(); self = irlan_get_any(); if (self) { - ASSERT(self->magic == IRLAN_MAGIC, return;); + IRDA_ASSERT(self->magic == IRLAN_MAGIC, goto out;); IRDA_DEBUG(1, "%s(), Found instance (%08x)!\n", __FUNCTION__ , daddr); irlan_client_wakeup(self, saddr, daddr); } +IRDA_ASSERT_LABEL(out:) rcu_read_unlock(); } @@ -197,9 +199,9 @@ static int irlan_client_ctrl_data_indication(void *instance, void *sap, self = (struct irlan_cb *) instance; - ASSERT(self != NULL, return -1;); - ASSERT(self->magic == IRLAN_MAGIC, return -1;); - ASSERT(skb != NULL, return -1;); + IRDA_ASSERT(self != NULL, return -1;); + IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;); + IRDA_ASSERT(skb != NULL, return -1;); irlan_do_client_event(self, IRLAN_DATA_INDICATION, skb); @@ -226,15 +228,15 @@ static void irlan_client_ctrl_disconnect_indication(void *instance, void *sap, self = (struct irlan_cb *) instance; tsap = (struct tsap_cb *) sap; - ASSERT(self != NULL, return;); - ASSERT(self->magic == IRLAN_MAGIC, return;); - ASSERT(tsap != NULL, return;); - ASSERT(tsap->magic == TTP_TSAP_MAGIC, return;); + IRDA_ASSERT(self != NULL, return;); + IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); + IRDA_ASSERT(tsap != NULL, return;); + IRDA_ASSERT(tsap->magic == TTP_TSAP_MAGIC, return;); - ASSERT(tsap == self->client.tsap_ctrl, return;); + IRDA_ASSERT(tsap == self->client.tsap_ctrl, return;); /* Remove frames queued on the control channel */ - while ((skb = skb_dequeue(&self->client.txq))) { + while ((skb = skb_dequeue(&self->client.txq)) != NULL) { dev_kfree_skb(skb); } self->client.tx_busy = FALSE; @@ -248,15 +250,15 @@ static void irlan_client_ctrl_disconnect_indication(void *instance, void *sap, * Initialize callbacks and open IrTTP TSAPs * */ -void irlan_client_open_ctrl_tsap(struct irlan_cb *self) +static void irlan_client_open_ctrl_tsap(struct irlan_cb *self) { struct tsap_cb *tsap; notify_t notify; IRDA_DEBUG(4, "%s()\n", __FUNCTION__ ); - ASSERT(self != NULL, return;); - ASSERT(self->magic == IRLAN_MAGIC, return;); + IRDA_ASSERT(self != NULL, return;); + IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); /* Check if already open */ if (self->client.tsap_ctrl) @@ -297,8 +299,8 @@ static void irlan_client_ctrl_connect_confirm(void *instance, void *sap, self = (struct irlan_cb *) instance; - ASSERT(self != NULL, return;); - ASSERT(self->magic == IRLAN_MAGIC, return;); + IRDA_ASSERT(self != NULL, return;); + IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); self->client.max_sdu_size = max_sdu_size; self->client.max_header_size = max_header_size; @@ -308,42 +310,6 @@ static void irlan_client_ctrl_connect_confirm(void *instance, void *sap, irlan_do_client_event(self, IRLAN_CONNECT_COMPLETE, NULL); } -/* - * Function irlan_client_reconnect_data_channel (self) - * - * Try to reconnect data channel (currently not used) - * - */ -void irlan_client_reconnect_data_channel(struct irlan_cb *self) -{ - struct sk_buff *skb; - __u8 *frame; - - IRDA_DEBUG(4, "%s()\n", __FUNCTION__ ); - - ASSERT(self != NULL, return;); - ASSERT(self->magic == IRLAN_MAGIC, return;); - - skb = dev_alloc_skb(128); - if (!skb) - return; - - /* Reserve space for TTP, LMP, and LAP header */ - skb_reserve(skb, self->max_header_size); - skb_put(skb, 2); - - frame = skb->data; - - frame[0] = CMD_RECONNECT_DATA_CHAN; - frame[1] = 0x01; - irlan_insert_array_param(skb, "RECONNECT_KEY", - self->client.reconnect_key, - self->client.key_len); - - irttp_data_request(self->client.tsap_ctrl, skb); -} - - /* * Function print_ret_code (code) * @@ -357,34 +323,34 @@ static void print_ret_code(__u8 code) printk(KERN_INFO "Success\n"); break; case 1: - WARNING("IrLAN: Insufficient resources\n"); + IRDA_WARNING("IrLAN: Insufficient resources\n"); break; case 2: - WARNING("IrLAN: Invalid command format\n"); + IRDA_WARNING("IrLAN: Invalid command format\n"); break; case 3: - WARNING("IrLAN: Command not supported\n"); + IRDA_WARNING("IrLAN: Command not supported\n"); break; case 4: - WARNING("IrLAN: Parameter not supported\n"); + IRDA_WARNING("IrLAN: Parameter not supported\n"); break; case 5: - WARNING("IrLAN: Value not supported\n"); + IRDA_WARNING("IrLAN: Value not supported\n"); break; case 6: - WARNING("IrLAN: Not open\n"); + IRDA_WARNING("IrLAN: Not open\n"); break; case 7: - WARNING("IrLAN: Authentication required\n"); + IRDA_WARNING("IrLAN: Authentication required\n"); break; case 8: - WARNING("IrLAN: Invalid password\n"); + IRDA_WARNING("IrLAN: Invalid password\n"); break; case 9: - WARNING("IrLAN: Protocol error\n"); + IRDA_WARNING("IrLAN: Protocol error\n"); break; case 255: - WARNING("IrLAN: Asynchronous status\n"); + IRDA_WARNING("IrLAN: Asynchronous status\n"); break; } } @@ -406,15 +372,15 @@ void irlan_client_parse_response(struct irlan_cb *self, struct sk_buff *skb) char *name; char *value; - ASSERT(skb != NULL, return;); + IRDA_ASSERT(skb != NULL, return;); IRDA_DEBUG(4, "%s() skb->len=%d\n", __FUNCTION__ , (int) skb->len); - ASSERT(self != NULL, return;); - ASSERT(self->magic == IRLAN_MAGIC, return;); + IRDA_ASSERT(self != NULL, return;); + IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); if (!skb) { - ERROR("%s(), Got NULL skb!\n", __FUNCTION__); + IRDA_ERROR("%s(), Got NULL skb!\n", __FUNCTION__); return; } frame = skb->data; @@ -473,8 +439,8 @@ static void irlan_check_response_param(struct irlan_cb *self, char *param, IRDA_DEBUG(4, "%s(), parm=%s\n", __FUNCTION__ , param); - ASSERT(self != NULL, return;); - ASSERT(self->magic == IRLAN_MAGIC, return;); + IRDA_ASSERT(self != NULL, return;); + IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); /* Media type */ if (strcmp(param, "MEDIA") == 0) { @@ -575,10 +541,10 @@ void irlan_client_get_value_confirm(int result, __u16 obj_id, IRDA_DEBUG(4, "%s()\n", __FUNCTION__ ); - ASSERT(priv != NULL, return;); + IRDA_ASSERT(priv != NULL, return;); self = (struct irlan_cb *) priv; - ASSERT(self->magic == IRLAN_MAGIC, return;); + IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;); /* We probably don't need to make any more queries */ iriap_close(self->client.iriap);