summaryrefslogtreecommitdiff
path: root/net/sctp/ulpqueue.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sctp/ulpqueue.c')
-rw-r--r--net/sctp/ulpqueue.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/net/sctp/ulpqueue.c b/net/sctp/ulpqueue.c
index 8a11bc28bd38..f32d8de7f41d 100644
--- a/net/sctp/ulpqueue.c
+++ b/net/sctp/ulpqueue.c
@@ -99,12 +99,12 @@ void sctp_ulpq_flush(struct sctp_ulpq *ulpq)
while ((skb = __skb_dequeue(&ulpq->lobby))) {
event = sctp_skb2event(skb);
- sctp_ulpevent_free(event);
+ sctp_ulpevent_kfree_skb(skb);
}
while ((skb = __skb_dequeue(&ulpq->reasm))) {
event = sctp_skb2event(skb);
- sctp_ulpevent_free(event);
+ sctp_ulpevent_kfree_skb(skb);
}
}
@@ -235,9 +235,9 @@ int sctp_ulpq_tail_event(struct sctp_ulpq *ulpq, struct sctp_ulpevent *event)
out_free:
if (sctp_event2skb(event)->list)
- skb_queue_purge(sctp_event2skb(event)->list);
+ sctp_queue_purge_ulpevents(sctp_event2skb(event)->list);
else
- kfree_skb(sctp_event2skb(event));
+ sctp_ulpevent_kfree_skb(sctp_event2skb(event));
return 0;
}
@@ -289,7 +289,7 @@ static inline void sctp_ulpq_store_reasm(struct sctp_ulpq *ulpq,
* payload was fragmented on the way and ip had to reassemble them.
* We add the rest of skb's to the first skb's fraglist.
*/
-static inline struct sctp_ulpevent *sctp_make_reassembled_event(struct sk_buff *f_frag, struct sk_buff *l_frag)
+static struct sctp_ulpevent *sctp_make_reassembled_event(struct sk_buff *f_frag, struct sk_buff *l_frag)
{
struct sk_buff *pos;
struct sctp_ulpevent *event;
@@ -325,11 +325,10 @@ static inline struct sctp_ulpevent *sctp_make_reassembled_event(struct sk_buff *
/* Remove the fragment from the reassembly queue. */
__skb_unlink(pos, pos->list);
-
+
/* Break if we have reached the last fragment. */
if (pos == l_frag)
break;
-
pos->next = pnext;
pos = pnext;
};
@@ -697,7 +696,7 @@ static __u16 sctp_ulpq_renege_order(struct sctp_ulpq *ulpq, __u16 needed)
event = sctp_skb2event(skb);
tsn = event->sndrcvinfo.sinfo_tsn;
- sctp_ulpevent_free(event);
+ sctp_ulpevent_kfree_skb(skb);
sctp_tsnmap_renege(tsnmap, tsn);
if (freed >= needed)
return freed;
@@ -723,7 +722,7 @@ static __u16 sctp_ulpq_renege_frags(struct sctp_ulpq *ulpq, __u16 needed)
event = sctp_skb2event(skb);
tsn = event->sndrcvinfo.sinfo_tsn;
- sctp_ulpevent_free(event);
+ sctp_ulpevent_kfree_skb(skb);
sctp_tsnmap_renege(tsnmap, tsn);
if (freed >= needed)
return freed;