Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 58962
b: refs/heads/master
c: 93cce3d
h: refs/heads/master
v: v3
  • Loading branch information
G. Liakhovetski authored and David S. Miller committed Jul 11, 2007
1 parent 34920b4 commit b9a7c89
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 66f5e51ed5a300291b34bf3e2b1e22ac28ca3631
refs/heads/master: 93cce3d3657bfb5d04789afcd5104f8c48700f32
29 changes: 19 additions & 10 deletions trunk/net/irda/irttp.c
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,20 @@ static int irttp_param_max_sdu_size(void *instance, irda_param_t *param,
/************************** LMP CALLBACKS **************************/
/* Everything is happily mixed up. Waiting for next clean up - Jean II */

/*
* Initialization, that has to be done on new tsap
* instance allocation and on duplication
*/
static void irttp_init_tsap(struct tsap_cb *tsap)
{
spin_lock_init(&tsap->lock);
init_timer(&tsap->todo_timer);

skb_queue_head_init(&tsap->rx_queue);
skb_queue_head_init(&tsap->tx_queue);
skb_queue_head_init(&tsap->rx_fragments);
}

/*
* Function irttp_open_tsap (stsap, notify)
*
Expand Down Expand Up @@ -395,10 +409,11 @@ struct tsap_cb *irttp_open_tsap(__u8 stsap_sel, int credit, notify_t *notify)
IRDA_DEBUG(0, "%s(), unable to kmalloc!\n", __FUNCTION__);
return NULL;
}
spin_lock_init(&self->lock);

/* Initialize internal objects */
irttp_init_tsap(self);

/* Initialise todo timer */
init_timer(&self->todo_timer);
self->todo_timer.data = (unsigned long) self;
self->todo_timer.function = &irttp_todo_expired;

Expand All @@ -418,9 +433,6 @@ struct tsap_cb *irttp_open_tsap(__u8 stsap_sel, int credit, notify_t *notify)
self->magic = TTP_TSAP_MAGIC;
self->connected = FALSE;

skb_queue_head_init(&self->rx_queue);
skb_queue_head_init(&self->tx_queue);
skb_queue_head_init(&self->rx_fragments);
/*
* Create LSAP at IrLMP layer
*/
Expand Down Expand Up @@ -1455,12 +1467,9 @@ struct tsap_cb *irttp_dup(struct tsap_cb *orig, void *instance)

/* Not everything should be copied */
new->notify.instance = instance;
spin_lock_init(&new->lock);
init_timer(&new->todo_timer);

skb_queue_head_init(&new->rx_queue);
skb_queue_head_init(&new->tx_queue);
skb_queue_head_init(&new->rx_fragments);
/* Initialize internal objects */
irttp_init_tsap(new);

/* This is locked */
hashbin_insert(irttp->tsaps, (irda_queue_t *) new, (long) new, NULL);
Expand Down

0 comments on commit b9a7c89

Please sign in to comment.