__skb_unlink(pos, pos->list); 
__skb_unlink(pos, &ulpq->lobby); 
static inline void sctp_ulpq_retrieve_ordered(struct sctp_ulpq *ulpq,					      struct sctp_ulpevent *event){	struct sk_buff *pos, *tmp;	struct sctp_ulpevent *cevent;	struct sctp_stream *in;	__u16 sid, csid;	__u16 ssn, cssn;	sid = event->stream;	ssn = event->ssn;	in  = &ulpq->asoc->ssnmap->in;	/* We are holding the chunks by stream, by SSN.  */	sctp_skb_for_each(pos, &ulpq->lobby, tmp) {		cevent = (struct sctp_ulpevent *) pos->cb;		csid = cevent->stream;		cssn = cevent->ssn;		/* Have we gone too far?  */		if (csid > sid)			break;		/* Have we not gone far enough?  */		if (csid < sid)			continue;		if (cssn != sctp_ssn_peek(in, sid))			break;		/* Found it, so mark in the ssnmap. */		sctp_ssn_next(in, sid);		__skb_unlink(pos, pos->list);		/* Attach all gathered skbs to the event.  */		__skb_queue_tail(sctp_event2skb(event)->list, pos);	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/8728b834b226ffcf2c94a58530090e292af2a7bf/ulpqueue.c/clean/net/sctp/ulpqueue.c