|
@@ -406,10 +406,7 @@ struct sctp_association *sctp_id2assoc(struct sock *sk, sctp_assoc_t id);
|
|
|
|
|
|
/* A macro to walk a list of skbs. */
|
|
/* A macro to walk a list of skbs. */
|
|
#define sctp_skb_for_each(pos, head, tmp) \
|
|
#define sctp_skb_for_each(pos, head, tmp) \
|
|
-for (pos = (head)->next;\
|
|
|
|
- tmp = (pos)->next, pos != ((struct sk_buff *)(head));\
|
|
|
|
- pos = tmp)
|
|
|
|
-
|
|
|
|
|
|
+ skb_queue_walk_safe(head, pos, tmp)
|
|
|
|
|
|
/* A helper to append an entire skb list (list) to another (head). */
|
|
/* A helper to append an entire skb list (list) to another (head). */
|
|
static inline void sctp_skb_list_tail(struct sk_buff_head *list,
|
|
static inline void sctp_skb_list_tail(struct sk_buff_head *list,
|
|
@@ -420,10 +417,7 @@ static inline void sctp_skb_list_tail(struct sk_buff_head *list,
|
|
sctp_spin_lock_irqsave(&head->lock, flags);
|
|
sctp_spin_lock_irqsave(&head->lock, flags);
|
|
sctp_spin_lock(&list->lock);
|
|
sctp_spin_lock(&list->lock);
|
|
|
|
|
|
- list_splice((struct list_head *)list, (struct list_head *)head->prev);
|
|
|
|
-
|
|
|
|
- head->qlen += list->qlen;
|
|
|
|
- list->qlen = 0;
|
|
|
|
|
|
+ skb_queue_splice_tail_init(list, head);
|
|
|
|
|
|
sctp_spin_unlock(&list->lock);
|
|
sctp_spin_unlock(&list->lock);
|
|
sctp_spin_unlock_irqrestore(&head->lock, flags);
|
|
sctp_spin_unlock_irqrestore(&head->lock, flags);
|